Python 脚本被并发执行
在编程领域中,并发是指程序的不同部分在同一时间段内同时执行。在 Python 中,我们可以通过使用多线程或多进程来实现并发执行。本文将介绍如何使用 Python 实现脚本的并发执行,并提供相应的代码示例。
多线程实现并发执行
多线程是指一个进程中包含多个线程,每个线程可以独立执行不同的任务。Python 提供了 threading
模块用于创建和管理线程。
以下是一个简单的示例,展示了如何使用多线程并发执行两个函数:
import threading
# 定义两个函数
def function1():
for i in range(5):
print("Function 1")
def function2():
for i in range(5):
print("Function 2")
# 创建两个线程
thread1 = threading.Thread(target=function1)
thread2 = threading.Thread(target=function2)
# 启动线程
thread1.start()
thread2.start()
# 等待线程执行完成
thread1.join()
thread2.join()
在上面的示例中,我们定义了两个函数 function1
和 function2
,每个函数都会打印一条消息。然后,我们创建了两个线程 thread1
和 thread2
,并分别将这两个函数作为参数传递给线程。最后,我们通过调用 start
方法启动线程,并使用 join
方法等待线程执行完成。
多进程实现并发执行
多进程是指一个程序同时运行多个进程,每个进程都有自己的地址空间和系统资源。Python 提供了 multiprocessing
模块用于创建和管理进程。
以下是一个简单的示例,展示了如何使用多进程并发执行两个函数:
import multiprocessing
# 定义两个函数
def function1():
for i in range(5):
print("Function 1")
def function2():
for i in range(5):
print("Function 2")
# 创建两个进程
process1 = multiprocessing.Process(target=function1)
process2 = multiprocessing.Process(target=function2)
# 启动进程
process1.start()
process2.start()
# 等待进程执行完成
process1.join()
process2.join()
在上面的示例中,我们定义了两个函数 function1
和 function2
,每个函数都会打印一条消息。然后,我们创建了两个进程 process1
和 process2
,并将这两个函数作为参数传递给进程。最后,我们通过调用 start
方法启动进程,并使用 join
方法等待进程执行完成。
总结
在本文中,我们介绍了如何使用多线程和多进程实现 Python 脚本的并发执行。多线程适用于处理 I/O 密集型任务,而多进程适用于处理 CPU 密集型任务。根据具体的应用场景和需求,选择合适的并发方式可以提高程序的性能和效率。
如果你希望了解更多关于 Python 并发编程的内容,可以参考官方文档 [threading]( 和 [multiprocessing](
希望本文对你理解 Python 脚本的并发执行有所帮助!