python3.0以上版本 的 多线程处理模块(python核心编程笔记)

  • Post author:
  • Post category:python


python3.0 以上版本中取消了对thread模块的使用,且在《python核心编程笔记》教程中,存在一些2.0版本的内容,因此不得不对多线程编程代码mtsleepC.py进行一些纠正,才能够顺利运行。

import threading

from time import sleep,ctime

loops =[4,2]

def loop(nloop,nsec):

print(‘start loop ‘,nloop, ‘at:’, ctime()) #对于print必须要加括号

sleep(nsec)

print(’ loop ‘, ‘nloop’, ‘done at:’,ctime())

def main():

print(‘starting at:’,ctime())

threads = []

nloops = range(len(loops)) #通过range函数获得列表[1,2]

for i in nloops:

t = threading.Thread(target = loop, args = (i,loops[i]))

threads.append(t)

for i in nloops:

threads[i].start()

for i in nloops:

threads[i].join()

print(’ all down at:’,ctime())

if

name

== ‘

main

‘:

main()

区别:使用thread时实现的锁没有了,而是通过Thread(target = loop, args = (i,loops[i])), 在实例化每个对象时,



版权声明:本文为qq_31310255原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。