threading.Thread() 实线多线程;
threading.Lock() 实线加锁;
import threading
def test():
print 1
a = threading.Thread(target=test)
a.start()
如果 test() 函数有参数,则需要在 threading.Thread() 中写入第二个参数 args=[参数]
如 :
def test(param):
print param
for 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 threading
mlock = threading.Lock() ##RLock 可以多重加锁,有时候需要多次锁定而没有release ,就必须等待 release 过后才行,此时就可以用RLock()
num =0
def a():
global num
mlock.acquire() ##加锁
num += 1
mlock.release() ##解锁
print num
for i in xrange(0,10):
d = threading.Thread(target = a)
d.start()
threading 多线程
最新推荐文章于 2023-04-29 22:45:05 发布