python的標準庫提供了兩個模組:_thread和threading,_thread是低階模組,threading是高階模組,對_thread進行了封裝。絕大多數情況下,我們只需要使用threading這個高階模組。
方式一:
把乙個函式傳入並建立thread例項,然後呼叫start()開始執行
import threading
defloop()
:for i in
range(30
):print
(threading.current_thread(
).name +
" --- "
+str
(i))
threada = threading.thread(target=loop, name=
"執行緒a"
)threadb = threading.thread(target=loop, name=
"執行緒b"
)threada.start(
)threadb.start(
)
執行結果部分截圖如下:
方式二:
定義乙個類,繼承自 threading.thread類,使用 init(self) 方法進行初始化,在 run(self) 方法中寫上該執行緒要執行的程式,然後呼叫 start() 方法執行
'''
'''import threading
class
mythread
(threading.thread)
:def
__init__
(self, name)
: threading.thread.__init__(self)
self.name = name
defrun(self)
:for i in
range(20
):print
(threading.current_thread(
).name +
" --- "
+str
(i))
threada = mythread(
"執行緒a"
)threadb = mythread(
"執行緒b"
)threada.start(
)threadb.start(
)
執行結果部分截圖如下:
可以看到,輸出結果中,執行緒 a、b 的順序是混在一起的。
python3 開啟多執行緒的兩種寫法
寫法一 importtime from threading importthread deffunc name print f 開始 time.sleep 0.5 print f 結束 if name main t1 thread target func,args 執行緒1 t2 thread ta...
python多執行緒的兩種實現方式
第一種 利用threading中的thread方法實現 import threading import time defeat 迴圈列印,延遲一秒 while true print 我在吃飯 time.sleep 1 defdrink while true print 我在喝水 time.sleep...
多執行緒兩種實現方式
public class testthread1 extends thread public static void main string args 執行結果如下 可見執行緒由cpu隨機排程的。public class testthread2 extends thread override pub...