private Lock lock = new ReentrantLock(); private Condition condition = lock.newCondition(); condition.await();//this.wait(); condition.signal();//this.notify(); condition.signalAll();//this.notifyAll();
读写锁测试代码:
List list = new LinkedList();for (int i=0;i<10000;i++){ list.add(i);}RWLockList rwLockList = new RWLockList(list);//初始化数据Thread writer = new Thread(new Runnable() { @Override public void run() { for (int i=0;i<10000;i++){ rwLockList.put(i); } }});Thread reader1 = new Thread(new Runnable() { @Override public void run() { for (int i=0;i<10000;i++){ rwLockList.get(i); } }});Thread reader2 = new Thread(new Runnable() { @Override public void run() { for (int i=0;i<10000;i++){ rwLockList.get(i); } }});long begin = System.currentTimeMillis();writer.start();reader1.start();reader2.start();try { writer.join(); reader1.join(); reader2.join();} catch (InterruptedException e) { e.printStackTrace();}System.out.println("RWLockList take "+(System.currentTimeMillis()-begin) + "ms");
同步锁测试代码:
List list = new LinkedList();for (
推荐阅读
介绍Web Workers许可你在后台运行JavaScript代码,而不会阻拦web用户界面。Web Workers可以进步网页的┞符体机能,还可以加强用户体验。Web Workers有两种风格 ——专用Web Wo>>>详细阅读
本文标题:Java多线程之内置锁与显示锁
地址:http://www.17bianji.com/lsqh/35064.html
1/2 1