9 |
|
import junit.framework.*; |
10 |
|
import java.util.*; |
11 |
|
import java.util.concurrent.*; |
12 |
+ |
import static java.util.concurrent.TimeUnit.MILLISECONDS; |
13 |
|
|
14 |
|
public class ExchangerTest extends JSR166TestCase { |
15 |
|
|
53 |
|
final Exchanger e = new Exchanger(); |
54 |
|
Thread t1 = new Thread(new CheckedRunnable() { |
55 |
|
public void realRun() throws Exception { |
56 |
< |
Object v = e.exchange(one, SHORT_DELAY_MS, TimeUnit.MILLISECONDS); |
56 |
> |
Object v = e.exchange(one, SHORT_DELAY_MS, MILLISECONDS); |
57 |
|
threadAssertEquals(v, two); |
58 |
< |
Object w = e.exchange(v, SHORT_DELAY_MS, TimeUnit.MILLISECONDS); |
58 |
> |
Object w = e.exchange(v, SHORT_DELAY_MS, MILLISECONDS); |
59 |
|
threadAssertEquals(w, one); |
60 |
|
}}); |
61 |
|
Thread t2 = new Thread(new CheckedRunnable() { |
62 |
|
public void realRun() throws Exception { |
63 |
< |
Object v = e.exchange(two, SHORT_DELAY_MS, TimeUnit.MILLISECONDS); |
63 |
> |
Object v = e.exchange(two, SHORT_DELAY_MS, MILLISECONDS); |
64 |
|
threadAssertEquals(v, one); |
65 |
< |
Object w = e.exchange(v, SHORT_DELAY_MS, TimeUnit.MILLISECONDS); |
65 |
> |
Object w = e.exchange(v, SHORT_DELAY_MS, MILLISECONDS); |
66 |
|
threadAssertEquals(w, two); |
67 |
|
}}); |
68 |
|
|
95 |
|
final Exchanger e = new Exchanger(); |
96 |
|
Thread t = new Thread(new CheckedInterruptedRunnable() { |
97 |
|
public void realRun() throws Exception { |
98 |
< |
e.exchange(null, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); |
98 |
> |
e.exchange(null, MEDIUM_DELAY_MS, MILLISECONDS); |
99 |
|
}}); |
100 |
|
|
101 |
|
t.start(); |
111 |
|
Thread t = new Thread(new CheckedRunnable() { |
112 |
|
public void realRun() throws Exception { |
113 |
|
try { |
114 |
< |
e.exchange(null, SHORT_DELAY_MS, TimeUnit.MILLISECONDS); |
114 |
> |
e.exchange(null, SHORT_DELAY_MS, MILLISECONDS); |
115 |
|
threadShouldThrow(); |
116 |
|
} catch (TimeoutException success) {} |
117 |
|
}}); |