日期:2014-05-18  浏览次数:20642 次

关于JAVA中高并发处理
JAVA中怎么处理高并发的情况,这里不考虑硬件方面,从代码方面考虑,有知道的吗?求教
------解决方案--------------------
这个问题,如果MiceRice在,他可以回答你;
------解决方案--------------------
1.使用线程池;
2.使用verctor\Hashtable等线程安全的集合对象;
3.尽量减少公共对象的使用
------解决方案--------------------
高并发的性能问题最根源的"资源争用",看你怎么处理好这个问题了.

JAVA语法上提供了解决方案,synchronized关键字,简单方便.优化的其实已经很好了,但是要达到所谓的"高并发"那么远远不够了.

JDK5提供的同步包,中的Lock实现.理论上比synchronized性能"可能"更好,更灵活.但是其实也要看使用的场景.

以下都是资源争用时的"锁"的问题,加锁解锁肯定会有消耗...多线程肯定会有等待的.

最好的情况是消除竞争,JDK提供的ThreadLocal实现提供了一个思路.一个足球队我给每人发一个足球,大家就不用争了.

或者像JDK5同步包中的ConcurrentHashMap那样,我把一个蛋糕分成N份,让人分组去独立的去争这N份...减少争用的可能.

重点是从业务上想办法减少资源争用.
------解决方案--------------------
线程池
双缓冲队列
加锁