首页 > 其他 > 详细

Jetsever开源项目学习(五)Concurrent学习

时间:2016-01-06 01:31:47      阅读:146      评论:0      收藏:0      [点我收藏+]

首先梳理一下整体的架构,总的来说就是一个生产—消费者的形式,建立在Executor framework上:

技术分享

 

1.每一个Lane包含一个名字string和线程池(ExecutorService),线程池其实就相当于worker集合
2.每一个Lane有一个计数器(AtomicInteger),用来记录进入这个Lane的session的数量,session集合其实就相当于相当于任务队列
3.每一个GameRoom属于一个Lane(也就是一个Lane中可以有多个GameRoom)。每当添加一个新的session,就根据其所属的GameRoom放到相应的Lane中,这样同一个GameRoom中sessions就会在一个线程中进行处理(一个Lane其实就相是一个线程),有利于session间的交互。但是不同的GameRoom中的Session数量可能不同,导致处理器核心负载不均(一个线程是在一个处理器上执行的)。

Jetsever开源项目学习(五)Concurrent学习

原文:http://www.cnblogs.com/Guoyutian/p/5104218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!