python - 并行运行 for 循环中的所有迭代

标签 python multithreading for-loop multiprocessing python-2.2

我正在使用 Python v 2.2.1 并尝试编写需要在 for 循环内并行执行某些任务的代码。迭代次数不固定,取决于列表(在本例中为 serverList)。我怎样才能通过多线程或多处理来实现这一点。我通读了一些示例,但它们并行调用了不同的函数。在这里我需要调用相同的函数 (shutdownTask),但参数不同。部分代码如下:

try:
    <some code>
    for server in serverList:
        print ('Shutting down server: '+server+'...')
        shutdownTask(server, serverType)
finally:
    verifyStatus()

最佳答案

我推荐你Celery .您可以在后台为每台服务器启动一项任务。

要创建一个任务,您可以使用 @task 装饰器装饰您的函数。

要运行任务,您可以使用添加到修饰任务函数的 delay() 方法。

注意:不知道你真的使用非常老的Python 2.2.1版本会不会有兼容性问题

更新

如果您不需要这么复杂的解决方案,那么您可以使用 Thread类。

关于python - 并行运行 for 循环中的所有迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109926/

相关文章:

python - 在 Mechanize 中获取 '407 Proxy Authentication requires' 错误

python - 我如何获得旧版本的 Django? Pip 说找不到版本

java - 这里需要同步

c# - 线程环境下的redis不一致

php - 遍历数据库查询

java - Java新手。循环输入人的高度并找到最高的

python 正则表达式帮助 : match all text between '"icon":"' AND '.png", '

python - 如何从列表中删除所有字符串

ios - 同时2个定时器

java - 替换特定数字 - For 循环