python中單執行緒重複利用
使用佇列重複利用單執行緒
# 重複利用的執行緒. 執行緒一般跑完就結束了.
# 即建立一個執行緒, 給一個任務, 執行完後在等待接受下一個任務並執行, 以達到重複利用的目的.
"""
執行緒重複利用.
物件 t 為一個執行緒, 執行兩次不同的func 函式任務.
"""
import threading
import queue
class Myth(threading.Thread):
def __init__(self):
super().__init__()
self.daemon = True # 設定守護模式, 是為了讓程式隨著主程式程式碼執行完而結束, 不然會阻塞.
self.queue = queue.Queue() # 建立佇列.
self.start() # 在建立物件時, 就啟動這個run(), 如果佇列中沒有東西, 那麼就在get處阻塞.
def run(self): # 特定方法名.
while True:
func = self.queue.get() # 獲得物件.
func() # call function.
self.queue.task_done() # get 然後 task_done
def apply_async(self, func): # 特定方法名
self.queue.put(func) # put 函式物件.
def join(self):
self.queue.join() # waiting mission done, 不然就阻塞.
def func():
print("[+] I'm first mission.")
def func2():
print("[+] I'm second mission.")
if __name__ == '__main__':
t = Myth()
t.apply_async(func) # thread mission 1
t.apply_async(func2) # thread mission 2
t.join() # call self.queue.join().
相關文章
- python多執行緒中:如何關閉執行緒?Python執行緒
- Python 中執行緒和程式Python執行緒
- python中的執行緒池Python執行緒
- 簡單的多執行緒複製檔案執行緒
- Java利用執行緒工廠監控執行緒池Java執行緒
- 多執行緒複習執行緒
- python中5種執行緒鎖Python執行緒
- 什麼是Python執行緒?Python執行緒如何建立?Python執行緒
- python多執行緒爬蟲與單執行緒爬蟲效率效率對比Python執行緒爬蟲
- Python簡單實現多執行緒例子Python執行緒
- SingleThreadExecutor(單執行緒執行器)thread執行緒
- redis 單執行緒Redis執行緒
- 【Java】多執行緒複習Java執行緒
- Python中的多工:多執行緒Python執行緒
- python之多執行緒Python執行緒
- Java 執行緒池中的執行緒複用是如何實現的?Java執行緒
- python基礎執行緒-管理併發執行緒Python執行緒
- 伺服器模型——從單執行緒阻塞到多執行緒非阻塞(中)伺服器模型執行緒
- PyQt應用程式中的多執行緒:使用Qt還是Python執行緒?QT執行緒Python
- 瀏覽器多執行緒和js單執行緒瀏覽器執行緒JS
- python重複執行10次for迴圈從0到9Python
- 執行緒池相關複習執行緒
- JavaScript單執行緒概念JavaScript執行緒
- Redis--單執行緒Redis執行緒
- Redis-單執行緒Redis執行緒
- python中的socket+threading多執行緒Pythonthread執行緒
- 利用訊號量實現執行緒順序執行執行緒
- Python並行程式設計(二):多執行緒鎖機制利用Lock與RLock實現執行緒同步Python並行行程程式設計執行緒
- 多執行緒Demo學習(執行緒的同步,簡單的執行緒通訊)執行緒
- MySQL 主從複製之多執行緒複製MySql執行緒
- Python執行緒專題10:queue、多執行緒按順序執行Python執行緒
- python之執行緒鎖Python執行緒
- Python的執行緒池Python執行緒
- Python程式VS執行緒Python執行緒
- Python 執行緒池使用Python執行緒
- python 程式、執行緒 (一)Python執行緒
- python 程式、執行緒 (二)Python執行緒
- “多執行緒”重點概念整理執行緒