多线程下锁资源方法调用思路
关于多线程锁资源的性能与安全的新解决思路:如某个方法访问临界方法时,在多线程中调用该方法互不被影响的解决思路:首先:为避免每次调用都初始化对象的耗损,用static方法,不被影响加synchronized关键字,但锁资源将会成为瓶颈 解决思路:根据threadid 个数 初始化相同个数的对象,然后各threadid调用各自持有对象的静态方法,将不会产生。 实用范围:该方法所在的对象不是特别大,只涉及到处理,没有涉及到数据同步的场景之下 这样的问题: http://manecocomph.iteye.com/blog/931545
?
举例:
private static Map<Long, TxDroolsAnalyzeImpl> maps = new HashMap<Long, TxDroolsAnalyzeImpl>();
private static TxDroolsAnalyzeImpl getInstance() {
Long tId = Thread.currentThread().getId();
if (maps.containsKey(tId)) {
return maps.get(tId);
} else {
TxDroolsAnalyzeImpl txDroolsAnalyzeImpl = new TxDroolsAnalyzeImpl();
maps.put(tId, txDroolsAnalyzeImpl);
return txDroolsAnalyzeImpl;
}
}
?
?
?