python-多線程和線程池


import threading  # 點擊查看它的用法

傳統多線程方案會使用“即時創建, 即時銷毀”的策略。

 

from multiprocessing.dummy import Pool   # 線程池  (這是進程池from multiprocessing import Pool)

使用線程池:
由於線程預先被創建並放入線程池中,同時處理完當前任務之后並不銷毀而是被安排處理下一個任務,因此能夠避免多次創建線程,從而節省線程創建和銷毀的開銷,能帶來更好的性能和系統穩定性。

import time
from multiprocessing.dummy import Pool as ThreadPool


#給線程池取一個別名ThreadPool
def testRun(n):
  time.sleep(2)
  print(n)


if __name__ == '__main__':
  li = [1,2,3,4,5]
  pool = ThreadPool(10)  # 創建10個容量的線程池並發執行
  pool.map(testRun, li)  # pool.map同map用法
  pool.close()
  pool.join()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM