python的线程操作在旧版本中使用的是thread模块,在Python27和Python3中引入了threading模块,同时thread模块在Python3中改名为_thread模块,threading模块相较于thread模块,对于线程的操作更加的丰富,而且threading模块本身也是相当于对thread模块的进一步封装而成,thread模块有的功能threading模块也都有,所以涉及到对线程的操作,推荐使用threading模块,
案例一
#coding=utf-8 #线程第一节例子 import threading num=500; mlock=threading.Lock();#创建多线程锁 def test(): global num; for i in xrange(0,100): mlock.acquire();#加锁 num+=1; mlock.release();#释放锁 for item in xrange(0,10): d=threading.Thread(target=test); d.start();#启动线程 d.join();#阻塞主线程等待子线程执行完成后主线程在执行完成 print u" money is %s" % num;
案例二
#线程第二个例子 info=[1,2,3,4,55,233]; import threading def test(p): print p; res=[]; for item in info: d = threading.Thread(target=test,args=[item]); d.start(); res.append(d); for obj in res: obj.join();