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

Comparing jsr166/src/test/tck/LockSupportTest.java (file contents):
Revision 1.3 by dl, Sat Sep 20 18:20:08 2003 UTC vs.
Revision 1.4 by dl, Thu Sep 25 11:02:41 2003 UTC

# Line 19 | Line 19 | public class LockSupportTest extends JSR
19      }
20  
21      /**
22 <     *
22 >     * park is released by unpark occuring after park
23       */
24 <    public void testUnpark() {
24 >    public void testPark() {
25          Thread t = new Thread(new Runnable() {
26                  public void run() {
27                      try {
# Line 31 | Line 31 | public class LockSupportTest extends JSR
31                      }
32                  }
33              });
34        t.start();
34          try {
35 +            t.start();
36 +            Thread.sleep(SHORT_DELAY_MS);
37              LockSupport.unpark(t);
38              t.join();
39          }
# Line 42 | Line 43 | public class LockSupportTest extends JSR
43      }
44  
45      /**
46 <     *
46 >     * park is released by unpark occuring before park
47 >     */
48 >    public void testPark2() {
49 >        Thread t = new Thread(new Runnable() {
50 >                public void run() {
51 >                    try {
52 >                        Thread.sleep(SHORT_DELAY_MS);
53 >                        LockSupport.park();
54 >                    } catch(Exception e){
55 >                        threadUnexpectedException();
56 >                    }
57 >                }
58 >            });
59 >        try {
60 >            t.start();
61 >            LockSupport.unpark(t);
62 >            t.join();
63 >        }
64 >        catch(Exception e) {
65 >            unexpectedException();
66 >        }
67 >    }
68 >
69 >    /**
70 >     * park is released by interrupt
71 >     */
72 >    public void testPark3() {
73 >        Thread t = new Thread(new Runnable() {
74 >                public void run() {
75 >                    try {
76 >                        LockSupport.park();
77 >                        threadAssertTrue(Thread.interrupted());
78 >                    } catch(Exception e){
79 >                        threadUnexpectedException();
80 >                    }
81 >                }
82 >            });
83 >        try {
84 >            t.start();
85 >            Thread.sleep(SHORT_DELAY_MS);
86 >            t.interrupt();
87 >            t.join();
88 >        }
89 >        catch(Exception e) {
90 >            unexpectedException();
91 >        }
92 >    }
93 >
94 >    /**
95 >     * park returns if interrupted before park
96 >     */
97 >    public void testPark4() {
98 >        final ReentrantLock lock = new ReentrantLock();
99 >        lock.lock();
100 >        Thread t = new Thread(new Runnable() {
101 >                public void run() {
102 >                    try {
103 >                        lock.lock();
104 >                        LockSupport.park();
105 >                    } catch(Exception e){
106 >                        threadUnexpectedException();
107 >                    }
108 >                }
109 >            });
110 >        try {
111 >            t.start();
112 >            t.interrupt();
113 >            lock.unlock();
114 >            t.join();
115 >        }
116 >        catch(Exception e) {
117 >            unexpectedException();
118 >        }
119 >    }
120 >
121 >    /**
122 >     * parkNanos times out if not unparked
123       */
124      public void testParkNanos() {
125          Thread t = new Thread(new Runnable() {
# Line 65 | Line 142 | public class LockSupportTest extends JSR
142  
143  
144      /**
145 <     *
145 >     * parkUntil times out if not unparked
146       */
147      public void testParkUntil() {
148          Thread t = new Thread(new Runnable() {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines