自己实现的java lock
在做一个ajax web推送功能的时候碰到一个问题。 如果多个用户同时访问List,或者Map中的同一条数据的时候,如果对数据进行插入或者排序,就会出现并发问题。为了避免这个问题查阅了 java.util.concurrent 里面的一些类。发现没有将锁对象公开的实现类。 所以自己就尝试写一个!
实现代码
Lock 接口实现
LinkedQueue<Message> queue = new LinkedQueue<Message>();try{queue.fullyLock();//对队列排序或者插入排序的时候 锁定 takeLock 和 putLock}finally{queue.fullyUnlock();}