python - 如何在这段代码中实现多处理?
问题描述
我正在尝试为下面的代码实现多处理,似乎没有什么对我有用。模式和输出是包含数十万个元素的列表。
for pat in patterns:
for seq in [output[x] for x in range(0, len(output)) if x % 2 != 0]:
freq = freq + get_count(seq, pat)
freq_dict[pat] = freq
freq = 0
任何形式的帮助将不胜感激。
解决方案
尝试这个:
import concurrent
def add_pattern(pat):
for seq in [output[x] for x in range(0, len(output)) if x % 2 != 0]:
freq = freq + get_count(seq, pat)
freq_dict[pat] = freq
freq = 0
with concurrent.futures.ProcessPoolExecutor() as executor:
executor.map(add_pattern, patterns)
推荐阅读
- flutter - 长文本短语 (Flutter)
- c - 函数在 C 中没有返回任何内容
- android-studio - 未处理的异常:在初始化绑定之前访问了 ServicesBinding.defaultBinaryMessenger
- java - 将 Json 响应格式化为数组 Java
- visual-studio-code - 如何让 VSCode 使用全局 eslint 而不是本地 eslint
- python - Python Pathlib 路径 Object.stat().st_ctime_ns 到 UTC?然后为 sql server 转换为 Datetime 格式
- php - 即使在 php.ini 中设置 curl.cainfo 后,cURL 错误 60
- javascript - 如何使用 JavaScript 在发布请求上添加设置
- c++ - linux如何管理并发文件写入和重命名?
- android - 我在 Android 模拟器上运行我的应用时遇到问题