对于IOCP的线程大部分书上介绍是为CPU数量的两倍,这应该是经验数字,但是我们也不能完全照搬这个数字,比如说,如果我们在线程上处理了大量的数据库操作,线程同步操作,就会使线程处理等待状态,这样线程就有可能不够用了。因此,我们最好能动态创建线程的数量,我们在系统中保留一个正在等待线程的数量,当每个线程唤醒时,先检查此数字是否为0,为0时则创建一个新的线程,当然,在创建创建的同时要注意加锁操作。当然线程数量的最大的要进行限制,最好能根据需要自已结束线程。
由于,我可能在线程中做一些别的事情,所以才用这个办法,对于把数据接收好就立刻放入队列的情况就不需要用这种方法了。