下面是一个示例程序,它使用Python的concurrent.futures
模块中的线程池来实现多线程操作:
import concurrent.futures
def worker(arg):
print(f'Working on {arg}')
return arg * 2
if __name__ == '__main__':
# 创建线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
# 提交任务给线程池
future1 = executor.submit(worker, 1)
future2 = executor.submit(worker, 2)
# 获取任务的返回结果
result1 = future1.result()
result2 = future2.result()
print(f'Result 1: {result1}')
print(f'Result 2: {result2}')
在这个示例中,我们定义了一个名为worker
的函数,它接收一个参数并返回参数的两倍。然后,在主程序中,我们使用线程池的submit
方法提交了两个任务给线程池,并获取了它们的返回结果。最后,我们打印了任务的返回结果。由于线程池会自动管理线程的创建和销毁,我们不需要手动处理线程的创建和管理,从而简化了多线程编程的复杂性。