1.6.1 Python線程使用 -- threading

多線程-threading

python的thread模塊是比較底層的模塊瘩例,python的threading模塊是對thread做了一些包裝的啊胶,可以更加方便的被使用

1. 使用threading模塊

單線程執(zhí)行

#coding=utf-8
import time

def saySorry():
    print("親愛的,我錯了垛贤,我能吃飯了嗎焰坪?")
    time.sleep(1)

if __name__ == "__main__":
    for i in range(5):
        saySorry()

多線程執(zhí)行

#coding=utf-8
import threading
import time

def saySorry():
    print("親愛的,我錯了南吮,我能吃飯了嗎琳彩?")
    time.sleep(1)

if __name__ == "__main__":
    for i in range(5):
        t = threading.Thread(target=saySorry)
        t.start() #啟動線程,即讓線程開始執(zhí)行

說明

  1. 可以明顯看出使用了多線程并發(fā)的操作部凑,花費時間要短很多
  2. 創(chuàng)建好的線程露乏,需要調用start()方法來啟動

2. 主線程會等待所有的子線程結束后才結束

#coding=utf-8
import threading
from time import sleep,ctime

def sing():
    for i in range(3):
        print("正在唱歌...%d"%i)
        sleep(1)

def dance():
    for i in range(3):
        print("正在跳舞...%d"%i)
        sleep(1)

if __name__ == '__main__':
    print('---開始---:%s'%ctime())

    t1 = threading.Thread(target=sing)
    t2 = threading.Thread(target=dance)

    t1.start()
    t2.start()

    #sleep(5) # 屏蔽此行代碼,試試看涂邀,程序是否會立馬結束瘟仿?
    print('---結束---:%s'%ctime())

image.png

3. 查看線程數(shù)量

#coding=utf-8
import threading
from time import sleep,ctime

def sing():
    for i in range(3):
        print("正在唱歌...%d"%i)
        sleep(1)

def dance():
    for i in range(3):
        print("正在跳舞...%d"%i)
        sleep(1)

if __name__ == '__main__':
    print('---開始---:%s'%ctime())

    t1 = threading.Thread(target=sing)
    t2 = threading.Thread(target=dance)

    t1.start()
    t2.start()

    while True:
        length = len(threading.enumerate())
        print('當前運行的線程數(shù)為:%d'%length)
        if length<=1:
            break

        sleep(0.5)

image.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市比勉,隨后出現(xiàn)的幾起案子劳较,更是在濱河造成了極大的恐慌驹止,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件观蜗,死亡現(xiàn)場離奇詭異臊恋,居然都是意外死亡,警方通過查閱死者的電腦和手機墓捻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門抖仅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砖第,你說我怎么就攤上這事撤卢。” “怎么了梧兼?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵放吩,是天一觀的道長。 經(jīng)常有香客問我羽杰,道長渡紫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任忽洛,我火速辦了婚禮腻惠,結果婚禮上,老公的妹妹穿的比我還像新娘欲虚。我一直安慰自己集灌,他們只是感情好,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布复哆。 她就那樣靜靜地躺著欣喧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪梯找。 梳的紋絲不亂的頭發(fā)上唆阿,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音锈锤,去河邊找鬼驯鳖。 笑死,一個胖子當著我的面吹牛久免,可吹牛的內容都是我干的浅辙。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼阎姥,長吁一口氣:“原來是場噩夢啊……” “哼记舆!你這毒婦竟也來了?” 一聲冷哼從身側響起呼巴,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤泽腮,失蹤者是張志新(化名)和其女友劉穎御蒲,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诊赊,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡厚满,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了豪筝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痰滋。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡摘能,死狀恐怖续崖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情团搞,我是刑警寧澤严望,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站逻恐,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜促煮,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一讯检、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挽拂,春花似錦惭每、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绒北,卻和暖如春黎侈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背闷游。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工峻汉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脐往。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓休吠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钙勃。 傳聞我的和親對象是個殘疾皇子蛛碌,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內容

  • Python 面向對象Python從設計之初就已經(jīng)是一門面向對象的語言,正因為如此辖源,在Python中創(chuàng)建一個類和對...
    順毛閱讀 4,224評論 4 16
  • 一文讀懂Python多線程 1蔚携、線程和進程 計算機的核心是CPU希太,它承擔了所有的計算任務。它就像一座工廠酝蜒,時刻在運...
    星丶雲(yún)閱讀 1,458評論 0 4
  • 線程 引言&動機 考慮一下這個場景誊辉,我們有10000條數(shù)據(jù)需要處理,處理每條數(shù)據(jù)需要花費1秒亡脑,但讀取數(shù)據(jù)只需要0....
    不浪漫的浪漫_ea03閱讀 365評論 0 0
  • javascript的運行機制霉咨,Event Loop 單線程 javascript為什么是單線程語言蛙紫,原因在于如果...
    ngaiwei閱讀 340評論 0 1
  • 我媽媽是位京戲票友,她不僅酷愛看戲途戒,還愛唱戲坑傅。記得小時候曾看到過她與童芷林同臺出演《穆桂英掛帥》的一張黑白老照片,...
    RainbowPeng閱讀 2,753評論 17 9