day 34 執行緒佇列 執行緒池 協程 Greenlet \Gevent 模組
阿新 • • 發佈:2019-01-14
1 執行緒的其他方法
threading.current_thread().getName() 查詢當前執行緒物件的名字
threading.current_thread().ident 查詢當前程序物件的ID
threading.enumerate() 目前正在活動中的執行緒
threading.active_count() 目前有幾條活動中的執行緒
2 執行緒佇列 (資料安全)
q = queue.Queue() 先進先出 fifo first in first out
q = queue.Lifo Queue 先進後出,類似於棧
q = queue.PriorityQueue() 優先順序佇列
(Put的資料是一個元組,元組的第一個引數是優先順序數字,數字越小優先順序越高,
越先被get到被取出來,第二個引數是put進去的值,如果說優先順序相同,
那麼值別忘了應該是相同的資料型別,字典不行)
3 執行緒池與程序池
from concurrent.futures import ThreadPoolExecutor , ProcessPoolExecutor
執行緒池回撥函式:
4.協程