程序和執行緒

2021-09-22 20:19:05 字數 1048 閱讀 3399

繼承thread類,過載run()方法

#方法二:從thread繼承,並重寫run()

class

mythread

(threading.thread)

: def __init__

(self,arg)

:super

(mythread, self)

.__init__

()#注意:一定要顯式的呼叫父類的初始化函式。

self.arg=arg

def run

(self)

: #定義每個執行緒要執行的函式

for k in

range(10

):if(self.arg ==1)

: time.

sleep(3

)else

: time.

sleep(1

)print

('the arg is:%s'

% self.arg,

'\t'

,k,datetime.datetime.

now())

thread_list=

for i in

range(4

):print

("start"

,datetime.datetime.

now())

t =mythread

(i) thread_list.

(t) #t.

setdaemon

(true) #設定子執行緒是否為守護執行緒(隨主線程結束而結束)

t.start()

print

('main thread end!'

)

繼承的類不要忘了執行super語句,繼承父類的初始化函式,然後過載run()方法,在裡邊寫執行緒的操作函式。

- 函式執行結果如上圖

守護執行緒設定和join()方法的使用

join函式

參考

執行緒和程序

標準的定義是 程序是執行緒的容器,乙個程序可於乙個或者多個執行緒,它是系統分配資源的基本單位 同乙個程序下,執行緒共享位址空降 已經開啟的檔案 訊號處理函式 報警訊號和其他,執行緒自己只保留程式計數器和棧。但是很遺憾的,這個只是教科書上的定義,實際情況是每個作業系統實現的作業系統特性不同,實現的方法...

程序和執行緒

乙個程序就是當前正在執行的乙個程式,包括程式的暫存器 程式計數器和變數的當前值。不同的程序擁有不同的位址空間。而執行緒可以理解為是程序中的控制流。同乙個程序內也就是說在同乙個位址空間內可以有多個控制流。也就是可以有多個線 程,他們共享位址空間。我們通常將程序視為是資源的集合,程序中有程式的正文 資料...

執行緒和程序

對於求職者,在面試的時候大多都會被問到 你對多執行緒了解麼?給我講講執行緒和程序的區別吧。在unix中,乙個程序可以理解為執行緒 位址空間 檔案描述符 資料,道破現實,其實就相當於老闆和員工,老闆就是程序,員工就是執行緒。老闆需要僱傭若干員工 執行緒 還要有辦公樓 位址空間 還要有若干的辦公裝置 檔...