1.共享数据的可见性问题可以不管,两个原因,一是可见性问题虽然虚拟机规范容许出现,但现实中极少出现;二是要保证不发生可见性问题,
所有共享数据都要正确同步,这是一项艰巨的工作,另外还会带来 性能,伸缩性等问题。虽说不管,但是重要的数据还是要考虑下,还是要看具体业务,整体讲不用管,特别的地方注意下.
2.尽量少用锁,除非那个地方一旦发生并发问题后果很严重 ,或者那个地方容易发生并发问题。对于那些理论上会发生,但是概率少,就算发生了,后果也不严重的 我们可以不加锁。减少加锁的好处是程序性能不加锁比加锁好,程序伸缩性不加锁比加锁好, 不加锁也就不会有死锁这种大问题了.
综合 1,2点讲Java游戏服务端编程时,只对非常重要的数据做同步,后果不是很严重的并发问题我们可以忽略,以此换取 性能,伸缩性,开发效率,以此避免同步带来的其它问题.