pythonthreadpractices

“””” python中使用线程有两种方式:函数或者用类来包装线程对象。 1、 函数式:调用thread模块中的start_new_thread()函数来产生新线程。线程的结束可以等待线程自然结束,也可以在线程函数中调用thread.exit()或thread.exit_thread()方法。 import time import thread def timer(no,interval): cnt=0 while cnt1000: con.wait() else: count=count+100 print self.name+’ produce 100,count=’+str(count) con.release() time.sleep(1) class customer(threading.thread): def run(self): global count while true: if con.acquire(): if count>100: count=count-100 print self.name+ ‘consume 100, count=’+str(count) else: con.wait() con.release() time.sleep(1) count=500 con=threading.condition() def test(): for i in range(5): p=producer() p.start() c=customer() c.start() print i if __name__==’__main__’: test() python中默认全局变量在函数中可以读,但是不能写但是 对con只读,所以不用global引入”””

Posted in 未分类

发表评论