十 Python入門 多執行緒

2022-03-26 15:33:05 字數 1799 閱讀 9904

程式:是指令和資料的有序集合,其本身沒有任何執行的含義,是乙個靜態的概念

程序:處理機制上的一次執行過程,他是乙個動態的概念

狀態:就緒態、執行態、阻塞態

cpu(4核)可以同時執行4個執行緒

程序中包含若干個執行緒,程序作為分配資源的基本單位,執行緒作為獨立執行和獨立排程的基本單位

程式執行時,程式本身就是主線程,手動建立的叫子執行緒,他們的關係是父子程序

import

threading

import

time

defrun1(name):

while

(true):

print(name,"**"

) time.sleep(1)

defrun2(name):

while

(true):

print(name,"

==="

) time.sleep(3)

#建立執行緒

t1=threading.thread(target=run1,args=("t1"

,))t2=threading.thread(target=run2,args=("t2"

,))t1.start()

#啟動執行緒

t2.start()

#11.4

t1.join() #

阻塞等待t1結束並**資源

t2.join() #

阻塞等待t2結束並**資源

保護共享資源

import

threading

import

time

lock=threading.lock() #

建立乙個執行緒鎖

num=100

defrun(name):

global num #

設定num為全域性變數,只能放在裡面

while

(true):

lock.acquire() #上鎖

if(num==0):

break

num=num-1

print("

執行緒",name,"

目前num:

",num)

lock.release()

#釋放鎖

time.sleep(1)

#建立執行緒

for i in range(5):

t=threading.thread(target=run,args=(i+1,))

t.start()

if __name__ == '__main__':     __name__變數為'__main__'時才執行,本檔案時成立,當被作為模組引入時不成立

from multiprocessing import

process

import

time

defrun(name):

print("

程序",name,"

執行了"

) time.sleep(5)

#建立程序

if__name__ == '

__main__

': #

windows程序要寫在裡面

p1=process(target=run,args=("p1"

,)) p2=process(target=run,args=("p2"

,)) p1.start()

p2.start()

python 多執行緒入門

import threading from time import sleep deflol for i in range 3 print loling.d i sleep 1 defweiwa for i in range 3 print weiwa.d i sleep 1 if name mai...

多執行緒入門

跟前幾篇的風格一樣,我會在開篇的時候舉乙個現實生活中的例子,通過這個例子來對映一些晦澀枯燥的計算機程式設計專業知識,在讓讀者朋友很好地理解理論概念的同時,又避免了閱讀教科書時的枯燥感覺。這次我要舉的例子是公司。不一定是it公司,盡量和程式設計領域遠一點兒吧,那就假設是一家搬家公司吧。假如我們把公司看...

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...