代码就是人生!
1)并发的线程模型有很多种,比如:skynet的actor模型,但是经过深入的思考,发现还是netty这种无锁化设计是最适合逻辑组织,也是最简单的。
2)代码就是人生,转化到现实中,那么就是银行的排队系统:8个窗口(8核的机器),那么来了100个客户端,那么我并发就是同时处理8个任务,让100个客户手中都拿一个号码:0~99,
0号由窗口0处理,1号由窗口1处理... 这样客户足够多,那么8个窗口都在处理客户业务,都没有闲下来。这就是相当于充分利用了多个CPU核心。
3)虽然理论上比actor损失了一点性能(actor是只要有任务,有cpu空闲,那么就可以执行),而上述这种,由于线程绑定,可能有空闲CPU,但是有可能后面的任务在排队而没有执行。
但是却十分简单,我更喜欢这种架构。