1 默认启动主线程

一般的,程序默认执行只在一个线程,这个线程称为主线程,例子演示如下:

导入线程相关的模块 threading:

import threading

threading的类方法 current_thread()返回当前线程:

t = threading.current_thread()print(t) # <_mainthread started>

所以,验证了程序默认是在MainThead中执行。

t.getName()获得这个线程的名字,其他常用方法,getName()获得线程id,isAlive()判断线程是否存活等。

print(t.getName()) # MainThreadprint(t.ident) # 139908235814720print(t.isAlive()) # True

以上这些仅是介绍多线程的背景知识,因为到目前为止,我们有且仅有一个"干活"的主线程

2 创建线程

创建一个线程:

my_thread = threading.Thread()

创建一个名称为my_thread的线程:

my_thread = threading.Thread(name='my_thread')

创建线程的目的是告诉它帮助我们做些什么,做些什么通过参数target传入,参数类型为callable,函数就是可调用的:

def print_i(i):    print('打印i:%d'%(i,))my_thread = threading.Thread(target=print_i,args=(1,))

my_thread线程已经全副武装,但是我们得按下发射按钮,启动start(),它才开始真正起飞。

my_thread().start()

打印结果如下,其中args指定函数print_i需要的参数i,类型为元祖。

打印i:1

至此,多线程相关的核心知识点,已经总结完毕。但是,仅仅知道这些,还不够!光纸上谈兵,当然远远不够。

接下来几天,咱们一起聊聊应用多线程编程,最本质的一些东西。我会通过小例子通俗易懂的解释,欢迎到时关注。


轻触这里,给我留言


近期小例子:闰年判断&字符型时间互转;打印2020年日历;装饰器的最通俗理解,不容错过!;pyecharts绘制词云图;使用pillow处理图片,很简单!;slice对象的应用举例;一行代码优化异常输出;函数的五类参数使用例子;绘制时间线轮播图;python参数类型使用总结;绘制水球图;lambda参数之坑;Python绘制仪表盘;参数的默认值陷阱!;chain串联多个迭代对象;机器学习中会涉及到的随机选择样本;使用namedtuple的小例子; pkuseg 做分词,超级nice~; 写一个装饰器:统计异常发生次数和时间;对象可被调用的实现方法;求任意维度两点间距离; 两种合并字典的方法对比; 计算和聚合同时进行; groupby 分组; plotly画柱状图+折线图;

有收获,点个在看

js打印线程id_理解Python多线程:通过易懂的小例子展开第一篇相关推荐

  1. js打印线程id_浅谈python中的多线程和多进程(二)

    原创:hxj7 本文继续分享一个关于python多线程和多进程区别的例子 前文<浅谈python中的多线程和多进程>中我们分享过一个例子,就是分别利用python中的多线程和多进程来解决高 ...

  2. js打印线程id_一文讲透“进程,线程和协程”

    一文讲透"进程,线程和协程" 本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同 ...

  3. js打印线程id_泥瓦匠聊并发编程:线程与多线程必知必会(基础篇)

    推荐:博客一文多发平台

  4. python 延时_理解Python多线程5:加锁解决问题,但又带来麻烦!

    此系列,已经推送的如下,还没看到的读者,可以走一波: 理解Python多线程4:代码稍作改动,bug就来了 理解Python多线程3:多线程抢夺同一个变量 理解Python多线程2:线程轮询得到CPU ...

  5. Python中的TCP的客户端UDP学习----第一篇博客

    Python中的TCP的客户端&UDP学习--第一篇博客 PS: 每日的怼人句子"我真想把我的脑子放到你的身体里,让你感受一下智慧的光芒" 先说UDP流程 发送: 创建套接 ...

  6. python多线程_干货|理解python多线程和多进程

    点击上方"AI遇见机器学习",选择"星标"公众号 原创干货,第一时间送达 一.多线程与多进程 在介绍Python多线程编程之前,先给大家复习一下进程和线程的概念 ...

  7. python 多线程 setdaemon_彻底理解Python多线程中的setDaemon与join配有GIF示意

    在进行Python多线程编程时, join()和 setDaemon()是最常用的方法,下面说说两者的用法和区别. 1.join () 例子:主线程A中,创建了子线程B,并且在主线程A中调用了B.jo ...

  8. python 多线程 setdaemon_彻底理解Python多线程中的setDaemon与join【配有GIF示意】

    在进行Python多线程编程时, join()和 setDaemon()是最常用的方法,下面说说两者的用法和区别. 1.join () 例子:主线程A中,创建了子线程B,并且在主线程A中调用了B.jo ...

  9. 牛逼!Python常用数据类型的基本操作(长文系列第一篇)

    我是你们的教授,关注我,带你玩转Python! 长文预警!Python基础系列会将基础内容大致分为三到五个板块,每篇文章着重讲一方面,知识不会很难,主要是以小例子的形式解读,如果你已经入门Python ...

  10. 如何用python计算函数的值域_(Max第一篇)Python基础代数运算大全

    @[TOC](目录) 1. 基础运算 1.1 运算代码表格 python中的基本运算符的使用是最基本的内容,需要把每一个运算所使用的符号记住,会对之后的编程有很大的作用 符号 定义 + Additio ...

最新文章

  1. 创智播客 大数据_华中人工智能主题产业园——武汉融创智谷
  2. 川教版计算机三年级下册教案,川教版小学三年级下册信息技术教案(全册)
  3. 留存率提高20%+,如何通过产品迭代做用户增长?
  4. 20159206《网络攻防实践》第五周学习总结
  5. java 集合读写同步_JAVA多线程学习十六 - 同步集合类的应用
  6. java方法的传递方式_JAVA基础--方法传参
  7. XLN Audio Addictive Trigger for Mac(智能鼓音替换工具)
  8. SQL各个关键字的顺序
  9. linux命令详解——sar
  10. 多云环境无处不在,但其管理才刚开始
  11. linux下phylip软件构建NJ树,MEGA软件——系统发育树构建方法(图文讲解)
  12. Motion-based counter-measures to photo attacks in face recognition
  13. 原神可莉、七七、迪奥娜、早柚、宵宫...模型下载(带骨骼贴图)
  14. android回收activity,Android系统回收activity行为
  15. 每日刷题记录 (一)
  16. OLAP有哪些实现方法?
  17. 移动端开发,苹果手机样式乱,iphon7不支持white-space属性,控制显示几行
  18. 【微信小游戏】游戏性能检测
  19. C++ 计166-1 C语言实验——圆柱体计算
  20. Study JavaScript《JS操作SVG的一些知识》

热门文章

  1. 文件磁盘相关函数[11]-获取指定文件的版本号 GetFileVersion
  2. 探索科学的奥秘之门Science,Cell, Nature
  3. 181209每日一句
  4. Creative Coding创意+技术的世界
  5. 扇贝有道180628每日一句
  6. Atitit 查找轮廓 findContours
  7. Atitit 图像处理 公共模块 矩阵扫描器
  8. Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend
  9. atitit.session的原理以及设计 java php实现的异同
  10. paip.java-asp-php-.net互相调用方法大总结