回顧一下 python的多工
#coding=utf-8
import threading # 執行緒
import gevent # 協程
from time import sleep,ctime
from multiprocessing import process # 程序
from multiprocessing import pool # 程序池
from multiprocessing.dummy import pool #執行緒池
pool = pool(5) #預設大小是cup的個數
import gevent.monkey
gevent.monkey.path_all()
from gevent.pool import pool # 協程池
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__':
# 在python3中,主線程主程序結束,子執行緒,子程序不會結束,並且無序
print('---開始---:%s'%ctime())
t1 = threading.thread(target=sing)
t2 = threading.thread(target=dance)
# t1 = process(target=sing)
# t2 = process(target=dance)
t1.setdaemon(true) # setdaemon(true) 主線程結束子執行緒立刻結束 如果多個子執行緒必須全部設定否則設定無效
# t2.setdaemon(true)
# t1.daemon=true # daemon=true 主程序結束該子程序立刻結束
# t2.daemon=true
t1.start()
t2.start()
# t1.join() #join 主程序(執行緒)阻塞,等待子程序(執行緒) 可以指定阻塞超時時間
# t2.join()
gevent.joinall([
gevent.spawn(sing, "work1"),
gevent.spawn(dance, "work2")
]) #sleep(5) # 遮蔽此行**,試試看,程式是否會立馬結束?
print('---結束---:%s'%ctime())
有錯誤請指正,謝謝 python多工 執行緒
併發 指的是任務數多餘cpu核數,通過作業系統的各種任務排程演算法,實現用多個任務 一起 執行 實際上總有一些任務不在執行,因為切換任務的速度相當快,看上去一起執行而已 並行 指的是任務數小於等於cpu核數,即任務真的是一起執行的 執行緒python的thread模組是比較底層的模組,python的...
python 多工介紹
多工介紹 在現實生活中,有很多的場景中的事情是同時進行的,比如跳舞和唱歌是同時進行的。在程式中,可以使用 來模擬唱歌和跳舞的功能 from time import sleep def sing for i in range 3 print 正在唱歌.d i sleep 1 def dance for...
Python 多工介紹
僅用學習參考 多工介紹 現實生活中 有很多的場景中的事情是同時進行的,比如開車的時候 手和腳共同來駕駛汽車,再比如唱歌跳舞也是同時進行的 試想,如果把唱歌和跳舞這2件事情分開依次完成的話,估計就沒有那麼好的效果了 想一下場景 先唱歌,然後在跳舞,o o哈哈 程式中如下程式,來模擬 唱歌跳舞 這件事情...