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

首先梳理一下整体的架构,总的来说就是一个生产—消费者的形式,建立在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数量可能不同,导致处理器核心负载不均(一个线程是在一个处理器上执行的)。

时间: 2024-12-28 06:21:08

Jetsever开源项目学习(五)Concurrent学习的相关文章

开源项目Material Calendar View 学习记录 (一)

开源项目Material Calendar View 学习记录 Github: https://github.com/prolificinteractive/material-calendarview README.md 中文翻译: Material Calendar View将Android CalendarView 的Material Design风格向后移植.其目标是拥有Material的视觉和使用效果,而不是完全依赖于平台的实现. 0.8.0版本的主要变更 此视图现在对布局参数的响应更好

Android开源项目第五篇——优秀个人和团体篇

本文为那些不错的Android开源项目第五篇——优秀个人和团体篇,主要介绍那些乐于分享并且有一些很不错的开源项目的个人和组织(公司) Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 Follow大神,深挖大神的项目和following,你会发现很多.长期更新

Jetsever开源项目学习(三)Session学习

package org.menacheri.jetserver.app; import java.util.List; import org.menacheri.jetserver.communication.MessageSender; import org.menacheri.jetserver.communication.MessageSender.Fast; import org.menacheri.jetserver.communication.MessageSender.Reliab

Jetsever开源项目学习(三)Server学习

首先看一下org.menacheri.jetserver.server包 Server.java package org.menacheri.jetserver.server; import java.net.InetSocketAddress; import org.menacheri.jetserver.app.Session; public interface Server { public interface TransmissionProtocol{ } //内部接口,只有域没有方法

Jetsever开源项目学习(二)架构学习—— Jetserver internal details and how it works.

Jet Server - architecture and internal details This section outlines how data flows through jet server, the important classes and interfaces and also which ones need to be extended by users to write their game logic, receive events and so on. If you

ios GitHub上比较不错的开源项目,有时间可以学习下

1.ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub: GitHub自家的函数式响应式编程泛型的Objective-C实现,名字听着很高大上,学习曲线确实也比较陡,但是绝对会改变你对iOS编程的认知,首推之. 2. Mantle:Mantle/Mantle · GitHub: 又是GitHub自家的产物,轻量级建模的首选,也可以很好的配合CoreData工作. 3. AFNetworking:AFNetworking/AFNetworking

[转]Android开源项目分类汇总

我喜欢收集源码,如今这个时代,我觉得我们要做的不是做前人做过的事,而是学习他们的经验然后在这基础上创新做出更伟大的事. 转自https://github.com/Trinea/android-open-project Android开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView

iOS开发之开源项目链接

1. Coding iOS 客户端 Coding官方客户端. 笔者强烈推荐的值得学习的完整APP.GitHub - Coding/Coding-iOS: Coding iOS 客户端源代码 2. OSCHINA 的 iPhone 客户端开源中国的iPhone客户端源码https://git.oschina.net/oschina/iphone-app 3. [email protected] [email protected] iPhone 客户端,方便用户查看[email protected]

【转】Android开源项目 分类 便于查看

之前转载了一个开源项目的文章,发现那些都是没有系统的总结,这里又转载一篇有系统总结的文章. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 Android开源项目第一篇——个性化控件(View)篇 主要介绍那些不错个性化的View,包括ListView.Ac