Python 并发执行任务:使用 Executor 提交多个任务
修复后的代码为:
t = [executor.submit(check_domain_availability, i.strip() + '.com') for i in lines]
该修复将原代码中错误的生成器表达式更改为列表推导式,确保每个任务都被提交到 Executor 中。这样可以实现并发执行,提高代码效率。
解释:
-
原代码使用
executor.submit(check_domain_availability, i.strip() + '.com' for i in lines),这是一个生成器表达式,这意味着它不会立即创建所有任务,而是按需生成。当executor.submit被调用时,它只接受一个参数,因此for循环中的第一个元素被传递给check_domain_availability函数,而其他元素则被忽略。 -
修复后的代码使用
[executor.submit(check_domain_availability, i.strip() + '.com') for i in lines],这是一个列表推导式,它会创建一个包含所有任务的列表。每个任务都会被单独提交给executor.submit函数,从而确保所有任务都能够并发执行。
总结:
使用 Executor 来并发执行多个任务可以有效提高代码效率。在使用 Executor 时,需要注意使用列表推导式而不是生成器表达式,确保每个任务都被单独提交。
原文地址: https://www.cveoy.top/t/topic/oxZC 著作权归作者所有。请勿转载和采集!