欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python定時器線程池原理詳解

 更新時間:2020年02月26日 11:04:06   作者:---WeiGeH  
這篇文章主要介紹了Python定時器線程池原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Python定時器線程池原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

定時器執(zhí)行循環(huán)任務(wù):

知識儲備

Timer(interval, function, args=None, kwargs=None)

interval ===》 時間間隔 單位為s

function ===》 定制執(zhí)行的函數(shù)

使用threading的 Timer 類

start() 為通用的開始執(zhí)行方法

cancel ()為取消執(zhí)行的方法

普通單次定時執(zhí)行

from threading import Timer
import time
# 普通單次定時器
def handle():
print("普通單次定時器 函數(shù)被執(zhí)行");
t1=Timer(interval=1,function=handle);
t1.start();

定時循環(huán)執(zhí)行

from threading import Timer
import time
# 循環(huán)定時器
def loop_handle():
print("循環(huán)定時器定時器 函數(shù)被執(zhí)行");
global t2;
t2=Timer(interval=1,function=loop_handle);
t2.start();
 
t2=Timer(interval=1,function=loop_handle);
t2.start();
 
time.sleep(5);# 對主線程停止5s;
t2.cancel(); # t2 在主main 線程阻塞5s t2執(zhí)行5s

線程池技術(shù)

基本概念

在程序啟動時就創(chuàng)建好若干個線程,并保存到內(nèi)存中 。 當(dāng)線程啟動并執(zhí)行完成之后,并不做銷毀處理,而是等待下次再使用。
    i:節(jié)約了創(chuàng)建進(jìn)程 銷毀進(jìn)程的時間,大大降低進(jìn)程的開銷

實(shí)現(xiàn)

搶占式:線程池中的線程執(zhí)行順序不固定。該方式使用 ThreadPoolExecutor的 submit ()方法實(shí)現(xiàn)。

具體執(zhí)行那個線程是隨機(jī)的, 并且執(zhí)行的函數(shù)也可以不一致

那個線程執(zhí)行的函數(shù)出現(xiàn)了崩潰,不影響整個線程池的其他線程的運(yùn)行

使用with 語法 進(jìn)行簡化操作

非搶占式:線程將按照調(diào)用的順序執(zhí)行 。 此方式使用 ThreadPoolExecutor 的 map ()方法來實(shí)現(xiàn)

每個線程處理的函數(shù)都是一致的,一個線程執(zhí)行的函數(shù)崩潰,整體就崩潰

基本code

from concurrent.futures import ThreadPoolExecutor # 導(dǎo)入線程池
import time
def printName(name):
print("名字",name);
time.sleep(2);
nameList=['Tom','jirl','steam'];
# 搶占式線程池
start2=time.time();
with ThreadPoolExecutor(3) as executor:
for i in nameList:# 因?yàn)槊看螆?zhí)行的函數(shù)不一致,所以參數(shù)要分開傳遞
executor.submit(printName,i); 
end2=time.time();
print("2 speed:",str(end2-start2));
#非搶占式線程池

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何在Python?中使用?Luhn?算法驗(yàn)證數(shù)字

    如何在Python?中使用?Luhn?算法驗(yàn)證數(shù)字

    Luhn 算法驗(yàn)證器有助于檢查合法數(shù)字并將其與不正確或拼寫錯誤的輸入分開,這篇文章主要介紹了在Python中使用Luhn算法驗(yàn)證數(shù)字,需要的朋友可以參考下
    2023-06-06
  • 對python pandas中 inplace 參數(shù)的理解

    對python pandas中 inplace 參數(shù)的理解

    這篇文章主要介紹了對python pandas中 inplace 參數(shù)的理解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python實(shí)現(xiàn)雙人貪吃蛇小游戲

    python實(shí)現(xiàn)雙人貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)雙人貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 如何利用opencv訓(xùn)練自己的模型實(shí)現(xiàn)特定物體的識別

    如何利用opencv訓(xùn)練自己的模型實(shí)現(xiàn)特定物體的識別

    在Python中通過OpenCV自己訓(xùn)練分類器進(jìn)行特定物體實(shí)時識別,下面這篇文章主要給大家介紹了關(guān)于如何利用opencv訓(xùn)練自己的模型實(shí)現(xiàn)特定物體的識別,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 使用Pyhton 分析酒店針孔攝像頭

    使用Pyhton 分析酒店針孔攝像頭

    這篇文章主要介紹了使用Pyhton 分析酒店針孔攝像頭,本文通過截圖的形式給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python獲得linux下所有掛載點(diǎn)(mount points)的方法

    python獲得linux下所有掛載點(diǎn)(mount points)的方法

    這篇文章主要介紹了python獲得linux下所有掛載點(diǎn)(mount points)的方法,涉及Python操作Linux下掛載點(diǎn)的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • 對于Python的Django框架部署的一些建議

    對于Python的Django框架部署的一些建議

    這篇文章主要介紹了對于Python的Django框架部署的一些建議,包括項(xiàng)目文件的布局等,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)telnet服務(wù)器的方法

    Python實(shí)現(xiàn)telnet服務(wù)器的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)telnet服務(wù)器的方法,涉及Python通過Telnet連接服務(wù)器的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 淺談Django2.0 加xadmin踩的坑

    淺談Django2.0 加xadmin踩的坑

    今天小編就為大家分享一篇淺談Django2.0 加xadmin踩的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python的Django中將文件上傳至七牛云存儲的代碼分享

    Python的Django中將文件上傳至七牛云存儲的代碼分享

    七牛云存儲可以幫助服務(wù)器轉(zhuǎn)存圖片等數(shù)據(jù),類似于Dropbox等存儲服務(wù),這里就帶給大家Python的Django中將文件上傳至七牛云存儲的代碼分享,需要的朋友可以參考下
    2016-06-06

最新評論