Python中使用start()函数启动并发执行的多个任务
发布时间:2023-12-29 05:41:27
在Python中,可以使用多线程或多进程实现并发执行的多个任务。使用start()函数可以启动这些任务并让它们同时执行。
1. 多线程并发执行任务的例子:
import threading
# 定义一个线程执行的任务
def task(name):
print(f'Task {name} started')
# 假设任务需要执行一段时间
for i in range(1000000):
pass
print(f'Task {name} completed')
# 创建并启动多个线程执行任务
thread1 = threading.Thread(target=task, args=('Task 1',))
thread2 = threading.Thread(target=task, args=('Task 2',))
thread1.start()
thread2.start()
这段代码使用了threading库创建了两个线程,并分别给它们指定了执行的任务。通过start()函数来启动线程,并让它们并发执行。
2. 多进程并发执行任务的例子:
import multiprocessing
# 定义一个进程执行的任务
def task(name):
print(f'Task {name} started')
# 假设任务需要执行一段时间
for i in range(1000000):
pass
print(f'Task {name} completed')
# 创建并启动多个进程执行任务
process1 = multiprocessing.Process(target=task, args=('Task 1',))
process2 = multiprocessing.Process(target=task, args=('Task 2',))
process1.start()
process2.start()
这段代码使用了multiprocessing库创建了两个进程,并分别给它们指定了执行的任务。通过start()函数来启动进程,并让它们并发执行。
无论是多线程还是多进程,通过start()函数都可以让任务并发执行,而不需要等待上一个任务执行完成。这样可以提高程序的执行效率,特别适用于需要执行耗时的任务或需要同时处理多个请求的场景。
需要注意的是,并发执行的任务可能会涉及到共享资源的访问,这时候需要注意对共享资源的加锁操作,以避免竞争条件的产生。
