为什么需要线程池

刚才看到一遍关于线程池的文章,觉得很有必要记录下来。


如果说,创建一个线程需要1分钟和消耗1G内存,你会珍惜使用线程吗?
  • 我会,因为这个创建线程的代价太大了。
那如果需要频繁使用到线程,你会怎么做?
  • 我会多创建几个线程,把他们存起来,然后循环利用他们。

的确,线程的创建到销毁是一个很漫长的过程,很多线程被创建出来只执行一次任务便不再被使用,且每完成一个任务还要销毁这个线程,造成资源浪费。

如果我们能事先创建一批线程,循环利用这批线程去执行任务,相较之前的每次执行任务都重新创建一个线程而言,执行效率和空间占用等方面会大大得到改进。


所以应该合理创建线程和使用线程。

你可能感兴趣的:(为什么需要线程池)