Python中如何实现线程池队列
在Python中,可以使用标准模块concurrent.futures
来实现线程池队列。具体步骤如下:
- 导入
concurrent.futures
模块。
import concurrent.futures
- 创建一个线程池对象。
pool = concurrent.futures.ThreadPoolExecutor(max_workers=5)
其中max_workers
参数指定线程池中的最大线程数。
- 往线程池中提交任务,每个任务由一个函数和一组参数组成。
result = pool.submit(function_name, *args)
其中function_name
是任务的函数名,args
是函数的参数列表。
-
可以通过
result.result()
来获取任务的返回值。 -
最后记得关闭线程池。
pool.shutdown()
以下是一个完整的范例,其中将字符串“pidancode.com”和“皮蛋编程”传递给函数reverse_string()
来翻转字符串:
import concurrent.futures def reverse_string(string): return string[::-1] if __name__ == '__main__': with concurrent.futures.ThreadPoolExecutor(max_workers=2) as pool: futures = [pool.submit(reverse_string, 'pidancode.com'), pool.submit(reverse_string, '皮蛋编程')] for future in concurrent.futures.as_completed(futures): print(future.result())
输出结果为:
moc.edocnadip 编程蛋皮
相关文章