threading 多线程

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值