多线程执行多任务 似乎有两种模式

按线程对象的生命周期来分,似乎有两种模式:

   1.任务批次一开始就启动一批线程对象,等批次下的所有任务都完成后,线程集体死亡

      优点:程序简单明了,对象数固定,性能稳定

      缺点:随着任务的减少,空转的线程会越来越多,浪费系统开销

   2.任务批次启动后,取一个任务,生成一个线程,这个线程只处理该任务,任务完成后即死亡。当然线程数也不是无限的,到了一定数目后,如果还有新的任务,只能等别的线程死亡、线程总数小于上限后、再孵化出新线程处理新任务。

      优点:典型的“池”机制。当任务数少时,线程也少,不存在空转的线程,不浪费CPU

        缺点:频繁起线程、杀线程,对CPU也有压力;这种代码编起来也麻烦。

  

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.