在Python中實現(xiàn)多線程可以通過以下兩種主要方法:
使用`threading`模塊
創(chuàng)建`Thread`對象,多線將目標(biāo)函數(shù)作為參數(shù)傳入。程實
調(diào)用`start()`方法啟動線程。多線
使用`join()`方法等待線程結(jié)束。程實
示例代碼:
```python
import threading
def print_numbers():
for i in range(10):
print(i)
def print_letters():
for letter in 'abcdefghij':
print(letter)
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_letters)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
```
繼承`Thread`類
定義一個新的多線類,繼承自`Thread`。程實
重寫`run()`方法,多線定義線程要執(zhí)行的程實任務(wù)。
實例化這個類并調(diào)用`start()`方法啟動線程。多線
示例代碼:
```python
import threading
class MyThread(threading.Thread):
def run(self):
for i in range(10):
print(i)
thread = MyThread()
thread.start()
thread.join()
```
需要注意的程實是,Python的多線全局解釋器鎖(GIL)限制了多線程在CPU密集型任務(wù)中的性能,因此多線程更適合I/O密集型任務(wù)。
另外,Python還提供了`concurrent.futures.ThreadPoolExecutor`類,可以更方便地管理線程池。