diff options
| author | Tom Tromey <tromey@gcc.gnu.org> | 2005-07-16 00:30:23 +0000 |
|---|---|---|
| committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-07-16 00:30:23 +0000 |
| commit | f911ba985aa7fe0096c386c5be385ac5825ea527 (patch) | |
| tree | a0b991cf5866ae1d616639b906ac001811d74508 /libjava/classpath/testsuite/java.lang/SyncronizedTest.java | |
| parent | 6f4434b39b261de5317dc81ddfdd94d2e1d62b11 (diff) | |
Initial revision
From-SVN: r102074
Diffstat (limited to 'libjava/classpath/testsuite/java.lang/SyncronizedTest.java')
| -rw-r--r-- | libjava/classpath/testsuite/java.lang/SyncronizedTest.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libjava/classpath/testsuite/java.lang/SyncronizedTest.java b/libjava/classpath/testsuite/java.lang/SyncronizedTest.java new file mode 100644 index 00000000000..61115efaaca --- /dev/null +++ b/libjava/classpath/testsuite/java.lang/SyncronizedTest.java @@ -0,0 +1,59 @@ +public class SyncronizedTest + implements Runnable +{ + public static int count = 0; + String _name; + + public SyncronizedTest(String name) + { + _name = name; + } + + public void run() + { + if (_name.equals("timer")) { + try { + Thread.sleep(10000); + } catch (InterruptedException e){} + System.out.println("FAILED: timer triggered"); + System.exit(1); + } + try { + count++; + + synchronized(this) { + notifyAll(); + } + } catch (Exception e) { + System.out.println("FAILED: receiver: " + e); + System.exit(1); + } + } + public static void main(String args[]) + { + try { + SyncronizedTest tester = new SyncronizedTest("tester"); + Thread tester_thread = new Thread(tester); + + SyncronizedTest timer = new SyncronizedTest("timer"); + Thread timer_thread = new Thread(timer); + timer_thread.start(); + + synchronized(tester) { + tester_thread.start(); + tester.wait(); + } + + if (0 == count) + throw new Exception("Thread did not run."); + + tester_thread.join(); + + System.out.println("PASSED: count="+count); + System.exit(0); + } catch (Exception e) { + System.out.println("FAILED: " + e); + System.exit(1); + } + } +} |
