python queue模块安装_Python -- Queue模块
學習契機
最近的一個項目中在使用grpc時遇到一個問題,由于client端可多達200,每個端口每10s向grpc server發送一次請求,server端接受client的請求后根據request信息更新數據庫,再將數據庫和配置文件的某些數據封裝后返回給client。原代碼的性能是0.26s/request,遠遠達不到所需性能,其中數據庫更新操作耗時達到80%,其中一個優化點就是將數據庫更新操作放在獨立的線程中。
在次之前沒有使用過線程編碼,學以致用后本著加深理解的想法,將這個過程記錄下來,這里先記下用于線程間通信的隊列Queue的相關知識。
概念
Python2中隊列庫名稱為Queue,Python3中已改名為queue,項目使用Python2.7.5版本,自然是使用Queue。
Queue模塊中提供了同步的、線程安全的隊列類,包括FIFO(先入先出)隊列Queue,LIFO(后入先出)隊列LifoQueue,和優先級隊列PriorityQueue。這些隊列都實現了鎖原語,可在多線程通信中直接使用。
Queue模塊定義了以下類及異常,在隊列類中,maxsize限制可入隊列數據的數量,值小于等于0時代表不限制:
Queue.Queue(maxsize=0) FIFO隊列
Queue.LifoQueue(maxsize=0) LIFO隊列
Queue.PriorityQueue(maxsize=0) 優先級隊列
Queue.Empty TODO
Queue.Full
Queue(Queue、LifoQueue、PriorityQueue)對象提供以下方法:
Queue.qsize()
總結
以上是生活随笔為你收集整理的python queue模块安装_Python -- Queue模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java替换花括号,用正则表达式替换Ja
- 下一篇: python编程中条件句_简单讲解Pyt