python3多线程threading,threading.thread python

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: