日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

定时器 线程池\进程池

發布時間:2025/6/17 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定时器 线程池\进程池 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定時器

  • 可以指定線程多久后啟動,(并且他是一個異步的線程,也就是并發)
from threading import Timer """ 這個相當于開啟了一個可以定義時間的線程,不需要導入Thread模塊了,Timer模塊可以直接創建一個線程 """ def foo(name):print(f"{name}定的時間到了,開啟啦")t = Timer(3,foo,('xc',)) t.start()

線程池\進程池

  • 線程池\進程池就是控制線程\進程的數據量,并且不會回收,會放在池里面重復使用這幾個線程\進程.
  • 線程池\進程池不同于信號量,這是兩個東西,池是控制線程的總數量,以自己控制的數量去操作很多條任務,信號量是控制線程的并發的運行的數量,不會控制線程的總數量

什么時候使用池

  • 單個任務處理時間短
  • 所要處理的這種任務數量多

使用池的好處

  • 不用重復的去創建回收線程\進程,減少了系統資源的開銷以及時間上的開銷
  • 如果不使用線程池,就會因為制造了大量線程消耗內存,和線程太多,造成cpu過渡切換
  • 總的來說就是節約系統資源,以及重復造線程\進程的開銷,信號量是沒有這個好處的,他只是讓同一段代碼,多少個進程可以去操作他.
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor # 導入一個線程池模塊和一個進程池模塊,這兩個模塊的使用方法是一樣的 import timeresult_lis = [] def foo(user,pwd):time.sleep(0.3)print(f"你的賬號為{user},你的密碼為{pwd}")return pwd * 10 def back_main(x):result_lis.append(x.result())tpool = ThreadPoolExecutor(4) for i in range(12):res = tpool.submit(foo,'xc',i).add_done_callback(back_main) # 傳值不是以元組的形式傳值# print(res.result()) tpool.shutdown() print("結束") print(result_lis)

轉載于:https://www.cnblogs.com/xiongchao0823/p/11552337.html

總結

以上是生活随笔為你收集整理的定时器 线程池\进程池的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。