Python多线程threading用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python多线程threading用法相关的知识,希望对你有一定的参考价值。

Python里面经常会用到多线程,即所有的方法在同一时间开始运行,而不是按顺序一个一

 

个运行。所用到的模块为threading,下面详解threading用法。

 

  • 我们写三个方法,onetwothree并正常运行。

 

这里只截图了one()方法,twothreeone内容一样。

技术分享

按下面图中的运行方式,三个函数是分别在不同时间运行的。

技术分享

  • 我们用threading使三个方法在同一时间运行

 

定义一个线程池并把要运行的线程都写到这个线程池列表里:

threads= [] #定义一个线程池
t1 = threading.Thread(target=one,args=(,)) #建立一个线程并且赋给t1,这个线程指定调用方法one,并且不带参数
threads.append(t1)#t1线程装到threads线程池里
t2 = threading.Thread(target=two)
threads.append(t2)
t3
= threading.Thread(target=three)
threads.append(t3)

这时threads这个列表中就有三个线程装在里面了。

 

下面就是运行这个线程池里面的线程

for t in threads:
   
t.setDaemon(True)#声明t为守护线程,设置的话,子线程将和主线程一起运行,并且直接结束,不会再执行循环里面的子线程
   
t.start()
t.join()
#作用是执行完所有子线程才去执行主线程

用一个for语句遍历threads里的线程,然后调用start()方法运行

注意t.join()必须放在for语句外面。

 

  • 运行结果为在同一时间启动的

技术分享

 

是不是很快就明白threading的用法了呢?

有问题可以交流QQ群:610845268

 


本文出自 “IT虫” 博客,请务必保留此出处http://laomomo.blog.51cto.com/6595318/1952603

以上是关于Python多线程threading用法的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫进阶五之多线程的用法

Python中threading的join和setDaemon的区别及用法

python多线程多进程协程的使用

python threading 用法

Python threading 中join()的作用

python threading超线程使用简单范例的代码