threading 多线程

来源:互联网 发布:电脑网络连接出现红叉 编辑:程序博客网 时间:2024/04/30 16:19
threading.Thread() 实线多线程;threading.Lock() 实线加锁;import threadingdef test():print 1a  = threading.Thread(target=test)a.start()如果 test() 函数有参数,则需要在 threading.Thread() 中写入第二个参数 args=[参数]如 :def test(param):print paramfor i in xrange(0,10):a = threading.Thread(target=test,args=[i])a.join() 会等待该线程跑完了再接着跑后面的代码。有关 join() 的博客:http://blog.csdn.net/zhangzheng0413/article/details/41728869锁:加锁:acquire()解锁:release()import threadingmlock = threading.Lock()   ##RLock 可以多重加锁,有时候需要多次锁定而没有release ,就必须等待 release 过后才行,此时就可以用RLock()num =0def a():global nummlock.acquire()   ##加锁num += 1mlock.release()   ##解锁print numfor i in xrange(0,10):d = threading.Thread(target = a)d.start()

0 0
原创粉丝点击