ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/ReadHoldingWriteLock.java
(Generate patch)

Comparing jsr166/src/test/loops/ReadHoldingWriteLock.java (file contents):
Revision 1.3 by jsr166, Thu Oct 29 23:09:08 2009 UTC vs.
Revision 1.4 by jsr166, Wed Sep 1 07:20:36 2010 UTC

# Line 27 | Line 27 | class ReadHoldingWriteLock {
27       * Readlocks succeed after a writing thread unlocks
28       */
29      public void testReadAfterWriteLock() throws Exception {
30 <        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
31 <        lock.writeLock().lock();
32 <        Thread t1 = new Thread(new Runnable() {
30 >        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
31 >        lock.writeLock().lock();
32 >        Thread t1 = new Thread(new Runnable() {
33                  public void run() {
34                      lock.readLock().lock();
35                      lock.readLock().unlock();
36 <                }
37 <            });
38 <        Thread t2 = new Thread(new Runnable() {
36 >                }
37 >            });
38 >        Thread t2 = new Thread(new Runnable() {
39                  public void run() {
40                      lock.readLock().lock();
41                      lock.readLock().unlock();
42 <                }
43 <            });
42 >                }
43 >            });
44  
45          t1.start();
46          t2.start();
# Line 57 | Line 57 | class ReadHoldingWriteLock {
57       * Read trylock succeeds if write locked by current thread
58       */
59      public void testReadHoldingWriteLock()throws Exception {
60 <        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
61 <        lock.writeLock().lock();
60 >        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
61 >        lock.writeLock().lock();
62          assertTrue(lock.readLock().tryLock());
63          lock.readLock().unlock();
64          lock.writeLock().unlock();
# Line 69 | Line 69 | class ReadHoldingWriteLock {
69       * other threads are waiting
70       */
71      public void testReadHoldingWriteLock2() throws Exception{
72 <        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
73 <        lock.writeLock().lock();
74 <        Thread t1 = new Thread(new Runnable() {
72 >        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
73 >        lock.writeLock().lock();
74 >        Thread t1 = new Thread(new Runnable() {
75                  public void run() {
76                      lock.readLock().lock();
77                      lock.readLock().unlock();
78 <                }
79 <            });
80 <        Thread t2 = new Thread(new Runnable() {
78 >                }
79 >            });
80 >        Thread t2 = new Thread(new Runnable() {
81                  public void run() {
82                      lock.readLock().lock();
83                      lock.readLock().unlock();
84 <                }
85 <            });
84 >                }
85 >            });
86  
87          t1.start();
88          t2.start();
# Line 102 | Line 102 | class ReadHoldingWriteLock {
102       * Fair Read trylock succeeds if write locked by current thread
103       */
104      public void testReadHoldingWriteLockFair() throws Exception{
105 <        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true);
106 <        lock.writeLock().lock();
105 >        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true);
106 >        lock.writeLock().lock();
107          assertTrue(lock.readLock().tryLock());
108          lock.readLock().unlock();
109          lock.writeLock().unlock();
# Line 114 | Line 114 | class ReadHoldingWriteLock {
114       * other threads are waiting
115       */
116      public void testReadHoldingWriteLockFair2() throws Exception {
117 <        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true);
118 <        lock.writeLock().lock();
119 <        Thread t1 = new Thread(new Runnable() {
117 >        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true);
118 >        lock.writeLock().lock();
119 >        Thread t1 = new Thread(new Runnable() {
120                  public void run() {
121                      lock.readLock().lock();
122                      lock.readLock().unlock();
123 <                }
124 <            });
125 <        Thread t2 = new Thread(new Runnable() {
123 >                }
124 >            });
125 >        Thread t2 = new Thread(new Runnable() {
126                  public void run() {
127                      lock.readLock().lock();
128                      lock.readLock().unlock();
129 <                }
130 <            });
129 >                }
130 >            });
131  
132          t1.start();
133          t2.start();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines