python

如何在Python中使用多线程和多进程

小樊
82
2024-05-10 13:48:02
栏目: 编程语言

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

0
看了该问题的人还看了