共計(jì) 885 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
Python 中創(chuàng)建多線程的方法有以下幾種:
- 使用
threading模塊創(chuàng)建多線程:threading模塊是 Python 中用于實(shí)現(xiàn)多線程的標(biāo)準(zhǔn)庫(kù),可以通過(guò)創(chuàng)建Thread對(duì)象來(lái)創(chuàng)建多個(gè)線程。
import threading
def my_function():
# 線程要執(zhí)行的代碼
# 創(chuàng)建線程
thread1 = threading.Thread(target=my_function)
thread2 = threading.Thread(target=my_function)
# 啟動(dòng)線程
thread1.start()
thread2.start()
- 繼承
threading.Thread類創(chuàng)建多線程:可以通過(guò)繼承Thread類,重寫run方法來(lái)創(chuàng)建多個(gè)線程。
import threading
class MyThread(threading.Thread):
def run(self):
# 線程要執(zhí)行的代碼
# 創(chuàng)建線程
thread1 = MyThread()
thread2 = MyThread()
# 啟動(dòng)線程
thread1.start()
thread2.start()
- 使用
multiprocessing模塊創(chuàng)建多線程:multiprocessing模塊是 Python 中用于實(shí)現(xiàn)多進(jìn)程的標(biāo)準(zhǔn)庫(kù),通過(guò)創(chuàng)建Process對(duì)象來(lái)創(chuàng)建多個(gè)線程。
import multiprocessing
def my_function():
# 線程要執(zhí)行的代碼
# 創(chuàng)建線程
process1 = multiprocessing.Process(target=my_function)
process2 = multiprocessing.Process(target=my_function)
# 啟動(dòng)線程
process1.start()
process2.start()
需要注意的是,在 Python 中多線程的執(zhí)行方式是由操作系統(tǒng)來(lái)決定的,因?yàn)?Python 的全局解釋器鎖(GIL)限制了同一時(shí)間只能運(yùn)行一個(gè)線程執(zhí)行 Python 字節(jié)碼。如果需要充分利用多核 CPU 的并行處理能力,可以考慮使用 multiprocessing 模塊創(chuàng)建多進(jìn)程。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完