python 學習筆記(二十二)
阿新 • • 發佈:2019-02-02
# coding=utf8 __author__ = 'liwei' import threading ,time,random '多執行緒的例子' def loop(): print('threading is %s runing'% threading.current_thread().name) n=0 while n<5: n=n+1 start=time.time() time.sleep(random.random()*2) stop=time.time() print('thread is %s >>> %s'% (threading.current_thread().name,(stop-start))) print('threading is %s ends.'% threading.current_thread().name) print('thread is %s runing...'% threading.current_thread().name) t=threading.Thread(target=loop,name='LiweiThread') t.start() t.join() print('threading is %s ends.' % threading.current_thread().name) 'ThreadLocal應用,任意讀寫而互不干擾,也不用管理鎖的問題,ThreadLocal內部會處理。' thread_local=threading.local() def process_student(): print('hello, %s (in %s)'% (thread_local.student,threading.current_thread().name)) def process_thread(name): thread_local.student=name process_student() t1 = threading.Thread(target= process_thread,args=('Liwei',),name='Thread-A') t2 = threading.Thread(target= process_thread,args=('Lizhao,'),name='Thread-B') t1.start() t2.start() t1.join() t2.join()