python-多线程和线程池

import threading  # 点击查看它的用法

传统多线程方案会使用“即时创建, 即时销毁”的策略。

from multiprocessing.dummy import Pool   # 线程池  (这是进程池from multiprocessing import Pool)

使用线程池:
由于线程预先被创建并放入线程池中,同时处理完当前任务之后并不销毁而是被安排处理下一个任务,因此能够避免多次创建线程,从而节省线程创建和销毁的开销,能带来更好的性能和系统稳定性。

import time
from multiprocessing.dummy import Pool as ThreadPool


#给线程池取一个别名ThreadPool
def testRun(n):
  time.sleep(2)
  print(n)


if __name__ == '__main__':
  li = [1,2,3,4,5]
  pool = ThreadPool(10)  # 创建10个容量的线程池并发执行
  pool.map(testRun, li)  # pool.map同map用法
  pool.close()
  pool.join()

猜你喜欢

转载自www.cnblogs.com/tangpg/p/9633011.html