什么是线程池
线程池就是提前创建一些线程,它们的集合叫做线程池。程序会将任务交给线程池,线程池会分配一个空闲的线程取执行任务,等待任务执行完成之后,该线程不会被销毁,而是重新还给线程池。这样减少了大量的线程创建销毁的操作,提高了程序的执行效率。
线程池的工作原理
在有任务要执行时,不用想内核去申请创建线程,而是将任务交给线程池,线程池分配一个空闲的线程取执行任务
在任务执行完毕之后,再将线程返还给线程池
使用线程池的好处
如果有大量的子任务需要执行,那么就需要大量的创建销毁线程,创建销毁线程则需要不断地从用户态到内核态地切换,这将导致程序运行地效率十分低下。
而使用线程池,线程地申请与释放都在线程池中完成,则避免了大量地换出换出,是的程序运行地效率得到提升。