Java游戏服务端编程心得
2016-02-25 22:47
337 查看
1.共享数据的可见性问题可以不管,两个原因,一是可见性问题虽然虚拟机规范容许出现,但现实中极少出现;二是要保证不发生可见性问题,所有共享数据都要正确同步,这是一项艰巨的工作,另外还会带来 性能,伸缩性等问题。虽说不管,但是重要的数据还是要考虑下,还是要看具体业务,整体讲不用管,特别的地方注意下.
2.尽量少用锁,除非那个地方一旦发生并发问题后果很严重 ,或者那个地方容易发生并发问题。对于那些理论上会发生,但是概率少,就算发生了,后果也不严重的 我们可以不加锁。减少加锁的好处是程序性能不加锁比加锁好,程序伸缩性不加锁比加锁好, 不加锁也就不会有死锁这种大问题了.
综合 1,2点讲Java游戏服务端编程时,只对非常重要的数据做同步,后果不是很严重的并发问题我们可以忽略,以此换取 性能,伸缩性,开发效率,以此避免同步带来的其它问题.
2.尽量少用锁,除非那个地方一旦发生并发问题后果很严重 ,或者那个地方容易发生并发问题。对于那些理论上会发生,但是概率少,就算发生了,后果也不严重的 我们可以不加锁。减少加锁的好处是程序性能不加锁比加锁好,程序伸缩性不加锁比加锁好, 不加锁也就不会有死锁这种大问题了.
综合 1,2点讲Java游戏服务端编程时,只对非常重要的数据做同步,后果不是很严重的并发问题我们可以忽略,以此换取 性能,伸缩性,开发效率,以此避免同步带来的其它问题.
相关文章推荐
- 深入C++可见性与生命期的区别详解
- JavaScript 对象成员的可见性说明
- PHP游戏编程25个脚本代码
- juqery 学习之三 选择器 可见性 元素属性
- 关于java继承中父类方法可见性探讨
- 一种基于DirectX 9.0 API的G代码逆向渲染方法
- PowerBuilder总结(一)
- 人生没有多少机会潜心研读
- 【DirectX游戏编程】游戏中摄像机类的实现(上篇:如何获得观察坐标系转换矩阵)
- 第一次写博客,为了激励自己学习的动力,写给自己看
- 如何学好游戏3D引擎编程
- Windows游戏编程:窗口
- 使用unity进行测试驱动开发的方法
- Unity3D游戏开发中制作场景
- 回顾:Unity 游戏引擎发展历程
- 学习Unity3d游戏开发应该是这样子的
- 你知道游戏开发编程是干嘛的?
- 使用MonoDevelop调试Unity3D的正确步骤
- 使用中国CDN网络分发Unity网页插件的方法
- Android上初识openGL ES