子线程含有阻塞代码。现有两种方案:一。平时程序只有一个主线程,一遇到请求就同时产生一百个子线程。所有子线程处理完后就ExitThread。
二。平时保持着一百个休眠的子线程,当主线程遇到请求时就一一唤醒子线程们进行处理。子线程们处理完后就进入体眠状态。我知道过多的活动子线程会令系统消耗大量的CPU时间在切换到不同线程,但休眠线程还需要系统切换以致消耗CPU时间吗?
二。平时保持着一百个休眠的子线程,当主线程遇到请求时就一一唤醒子线程们进行处理。子线程们处理完后就进入体眠状态。我知道过多的活动子线程会令系统消耗大量的CPU时间在切换到不同线程,但休眠线程还需要系统切换以致消耗CPU时间吗?
2.我觉得一百个"唤醒"动作要比一百个"启动"动作要快多了。
3.会阻塞的线程means不是全力工作,不会累坏服务器。