好处
· 1.复用线程, 减少在创建和销毁线程上所花的时间以及系统资源的开销。
· 2.提高响应速度。 当任务到达时, 任务可以不需要等到线程创建就可以立即行。
· 3.提高线程的可管理性。 使用线程池可以对线程进行统一管理。
· 4.如果不使用线程池, 有可能造成系统创建大量线程而导致OOM。
注意事项
1.至于用有界队列还是无界队列,根据业务场景来选怎。如果内存溢出概率大于有界阻塞,建议用有界。
2.线程池的大小要合理设置,避免产生OOM。 多线程应用并非线程越多越好, 需要根据系统运行的软硬件环境以及应用本身的特点决定线程池的大小。
3.并发错误。 多线程应用要特别注意并发错误, 要从逻辑上保证程序的正确性, 注意避免死锁现象的发生。
4.线程泄漏。 这是线程池应用中一个严重的问题, 当任务执行完毕而线程没能返回池中就会发生线程泄漏现象。