在Python中,可以使用`threading`模塊來創建和管理多線程,使用`multiprocessing`模塊來創建和管理多進程。
以下是一個使用多線程的例子:
```python
import threading
def print_numbers():
for i in range(1, 6):
print(i)
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_numbers)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Done")
```
在這個例子中,我們創建了兩個線程`thread1`和`thread2`,它們都會調用`print_numbers`函數來打印數字1到5。然后通過調用`start`方法啟動線程,最后通過調用`join`方法等待線程執行完畢。
以下是一個使用多進程的例子:
```python
import multiprocessing
def print_numbers():
for i in range(1, 6):
print(i)
process1 = multiprocessing.Process(target=print_numbers)
process2 = multiprocessing.Process(target=print_numbers)
process1.start()
process2.start()
process1.join()
process2.join()
print("Done")
```
在這個例子中,我們創建了兩個進程`process1`和`process2`,它們也會調用`print_numbers`函數來打印數字1到5。然后通過調用`start`方法啟動進程,最后通過調用`join`方法等待進程執行完畢。
需要注意的是,在使用多線程時,Python的全局解釋鎖(GIL)會限制同一時刻只能有一個線程執行Python字節碼,因此在多核CPU上并不能真正實現并行執行。而在使用多進程時,每個進程都有自己獨立的Python解釋器,因此可以實現真正的并行執行。