mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-06-27 22:05:52 +00:00
Initial revision
From-SVN: r102074
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user