比如如下代码,降级了并没有并发执行啊?
public void put(Object data){ rwl.writeLock().lock(); rwl.readLock().lock(); System.out.println(Thread.currentThread().getName() + " be ready to write data!"); try { Thread.sleep((long)(Math.random()*1000)); } catch (InterruptedException e) { e.printStackTrace(); } this.data = data; System.out.println(Thread.currentThread().getName() + " have write data: " + data); rwl.readLock().unlock(); rwl.writeLock().unlock(); }
输出:
Thread-0 be ready to write data!
Thread-0 have write data: 1103
Thread-2 be ready to write data!
Thread-2 have write data: 4531
Thread-1 be ready to write data!
Thread-1 have write data: 2188
也并没有并发执行啊
当年话下
相关分类