SyncTest.java: New file.
* libjava.lang/SyncTest.java: New file. * libjava.lang/SyncTest.out: New file. * libjava.lang/SyncTest.xfail: New file. From-SVN: r44495
This commit is contained in:
parent
2ff78183f8
commit
1292bc9fe8
4 changed files with 39 additions and 0 deletions
31
libjava/testsuite/libjava.lang/SyncTest.java
Normal file
31
libjava/testsuite/libjava.lang/SyncTest.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
// Test atomic increment via synchronized blocks.
|
||||
public class SyncTest implements Runnable {
|
||||
static int counter;
|
||||
|
||||
public void run() {
|
||||
for (int n = 0; n < 1000000; n++)
|
||||
synchronized (SyncTest.class) {
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
SyncTest test = new SyncTest();
|
||||
Thread[] thr = new Thread[4];
|
||||
|
||||
for (int n = 0; n < thr.length; n++) {
|
||||
thr[n] = new Thread(test);
|
||||
thr[n].start();
|
||||
}
|
||||
|
||||
for (int n = 0; n < thr.length; n++) {
|
||||
try {
|
||||
thr[n].join();
|
||||
} catch (InterruptedException ex) {
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println(counter == 1000000 * thr.length ?
|
||||
"ok" : "fail: " + counter);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue