一个程序可能要开几十个线程处理不同的任务,而每个任务具有周期性,比如每秒为一个周期,周期一过要重新执行,请问我是把每个线程执行完一个任务后关闭再开启一个新线程执行任务,还是把一个线程始终开着执行完本周期后等待下一周期再执行,这两种方法哪个效率高一些?

解决方案 »

  1.   

    效率高与低与线程无关。关键是你的瓶颈再哪?如果这点没有明确,那么多线程往往会带来低效率。
      

  2.   

    我觉得采用那种方式要看你的需求,比如需要比较频繁地操作,且每次操作花费时间不长,就应该选择周期性的,在执行完一次以后等待下一次执行.
    而如果,两次周期间隔时间较长,还是使用新开线程比较好,新开一个线程也是需要系统开销的.如果频繁新开线程,明显效率较低.
      

  3.   

    放入线程池,效率高,线程池就是用来干这事的。
      

  4.   

    感谢楼上几位,就是用来并发不断接收各个分类的数据的,每个线程接收的时间也就几秒钟,准备采用第二种方法