1. 程式人生 > >day 34 執行緒佇列 執行緒池 協程 Greenlet \Gevent 模組

day 34 執行緒佇列 執行緒池 協程 Greenlet \Gevent 模組

 

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.協程