擅长:python、mysql、java
<p>在确定需要线程而不是进程的情况下,可以使用<code>ThreadPoolExecutor</code>来运行固定数量的工作线程来执行此作业:</p>
<pre><code>from concurrent.futures import ThreadPoolExecutor
DATE_FILE = 'dates.txt'
WORKERS = 5
def process_date(date):
print('Start processing', date)
# Put here your complex logic.
print('Finish processing', date)
def main():
with open(DATE_FILE) as date_file:
dates = [line.rstrip() for line in date_file]
with ThreadPoolExecutor(WORKERS) as executor:
executor.map(process_date, dates)
executor.shutdown()
if __name__ == '__main__':
main()
</code></pre>
<p>如果使用Python 2,则必须先安装<code>futures</code>库才能正常工作:</p>
^{pr2}$