python3多线程threading,threading.thread python
计算机编程语言多线程线与穿线实现【Python俱乐部]
计算机编程语言多线程线与穿线实现大蟒是支持多线程的,并且是当地的的线程。主要是通过线和穿线这两个模块来实现的。
大蟒的线模块是比较底层的模块,python的穿线模块是对线做了一些包装的,可以更加方便的被使用。
这里需要提一下的是大蟒对线程的支持还不够完善,不能利用多CPU,但是下个版本的大蟒中已经考虑改进这点,让我们拭目以待吧。
穿线模块里面主要是对一些线程的操作对象化了,创建了叫线的班级。
一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把这个函数传递进线对象里,让它来执行;另一种是直接从线继承,创建一个新的类,把线程执行的代码放到这个新的班级里。
我们来看看这两种做法吧。
Pythonthread实现多线程#-*-编码:gb2312 -*-
导入字符串、线程、时间
def thread_main(a):
全局计数,互斥
# 获得线程名
线程名=线程化。当前线程().getName()
对于xrange(0,int(a))中的x:
# 取得锁
mutex.acquire()
计数=计数一
# 释放锁
mutex.release()
打印线程名称,x,计数
时间。睡眠(1)
定义主(数量):
全局计数,互斥
线程=[]
计数=1
# 创建一个锁
互斥=线程。锁定()
# 先创建线程对象
对于xrange(0,num)中的x:
线程.追加(线程Thread(target=thread_main,args=(10,))
# 启动所有线程
对于螺纹中的t:
启动()
# 主线程中等待所有子线程退出
对于螺纹中的t:
t.join()
if __name__==__main__ :
数量=4
# 创建四个线程
main(4)Pythonthreading实现多线程#-*-编码:gb2312 -*-
导入线程
导入时间
类测试(线程。线程):
def __init__(self,num):
threading.Thread.__init__(self)
自我。_运行数量=数量
定义运行(自身):
全局计数,互斥
线程名=线程化。当前线程().getName()
对于润智中的x(0,int(self ._运行次数)):
mutex.acquire()
计数=计数一
mutex.release()
打印线程名称,x,计数
时间。睡眠(1)
if __name__==__main__ :
全局计数,互斥
线程=[]
数量=4
计数=1
# 创建锁
互斥=线程。锁定()
# 创建线程对象
对于xrange(0,num)中的x:
线程.追加(测试(10))
# 启动线程
对于螺纹中的t:
启动()
# 等待子线程结束
对于螺纹中的t:
t.join()参考大蟒线程/线程的实现
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。