如果使用一个线程来处理每个传入的客户端连接,你将失去使用事件驱动模型的目的!
应该设计代码,达到的目的:以便单个线程处理少量客户端连接,并随着并发连接数的增加而增加线程数。
不应该:在接收客户端数据的IO的线程池中发送的数据的同事,进行繁重的计算工作。
通常做法:将网络密集型IO的任务与执行任何CPU密集型计算分成两个独立的线程池模块。
如果使用一个线程来处理每个传入的客户端连接,你将失去使用事件驱动模型的目的!
应该设计代码,达到的目的:以便单个线程处理少量客户端连接,并随着并发连接数的增加而增加线程数。
不应该:在接收客户端数据的IO的线程池中发送的数据的同事,进行繁重的计算工作。
通常做法:将网络密集型IO的任务与执行任何CPU密集型计算分成两个独立的线程池模块。