python 线程的使用
生活随笔
收集整理的這篇文章主要介紹了
python 线程的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種方法:普通
import threading import time #time.sleep(10) 秒def StartCheckWeak(self, task_id, dic_protocol, task_sleep):return ...threads = []for i in range(0, len(res_data["data"])):t = threading.Thread(target=self.StartCheckWeak, args=(task_id, res_data["data"][i], task_sleep))t.setDaemon(True) #True,主線程退出線程跟著退出,False,主線程退出不管線程threads.append(t)t.start()for i in range(0, len(threads)):threads[i].join()第二種方法:類繼承線程
import threading import timeclass MyThread(threading.Thread):def __init__(self,n):super(MyThread,self).__init__()self.n = ndef run(self):print("runnint task",self.n) if __name__ == '__main__':t1 = MyThread("t1")t2 = MyThread("t2")t1.start() #runnint task t1t2.start() #runnint task t2第三種方法:互斥
""" #創建鎖 mutex = threading.Lock() #鎖定 mutex.acquire([timeout]) #釋放 mutex.release() """import threading import timeclass MyThread(threading.Thread):def run(self):global num time.sleep(1)if mutex.acquire(1): num = num+1msg = self.name+' set num to '+str(num)print msgmutex.release() num = 0 mutex = threading.Lock() def test():for i in range(5):t = MyThread()t.start() if __name__ == '__main__':test()?
總結
以上是生活随笔為你收集整理的python 线程的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++定时器制作
- 下一篇: python调用PostgreSQL 1