在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解释器,因此可以实现真正的并行执行。