python - 不能将 namedtuple 与 concurrent.futures 一起使用?
问题描述
以下代码运行良好:
import itertools
import concurrent.futures
test_tuple = (1, "test")
iterations = range(1, 100)
def print_func(print_int, test_tuple):
print(print_int, test_tuple)
def parallel_func():
with concurrent.futures.ProcessPoolExecutor() as executor:
executor.map(print_func, iterations, itertools.repeat(test_tuple))
if __name__ == "__main__":
parallel_func()
但是,如果我使用namedtuple
:
import itertools
import concurrent.futures
from collections import namedtuple
TestNamedTuple = namedtuple("test", "id, name")
test_tuple = TestNamedTuple(1, "test")
iterations = range(1, 100)
def print_func(print_int, test_tuple):
print(print_int, test_tuple.id, test_tuple.name)
def parallel_func():
with concurrent.futures.ProcessPoolExecutor() as executor:
executor.map(print_func, iterations, itertools.repeat(test_tuple))
if __name__ == "__main__":
parallel_func()
终端锁定,看不到任何错误消息。有任何想法吗?
解决方案
推荐阅读
- html - for 循环添加额外的新行和空格
- python - seaborn/matplotlib 中的直方图,在 x 轴上显示所有分箱数据索引
- android - 如何以编程方式将图像或视频发送到android中的whatsapp状态?
- linux - 如何有效地循环遍历 Bash 中的文件行?
- javascript - RxJS 自定义操作符内部变量
- sql - 在 ClickHouse 数据库中截断和插入
- python - 升华; AttributeError:模块“googlesearch”没有属性“search”
- php - PHP中的多个foreach语句
- c# - 以一种简单的方式等待来自 mysql 服务器的响应
- java - 如何使用灰度像素值从位图创建 ByteBuffer?