URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [testsuite/] [libjava.lang/] [SyncTest.java] - Rev 778
Go to most recent revision | Compare with Previous | Blame | View Log
// Test atomic increment via synchronized blocks. public class SyncTest implements Runnable { static int counter; public void run() { // We cache the .class value; otherwise this code is // slow enough that it will time out in some situations. Object lock = SyncTest.class; for (int n = 0; n < 1000000; n++) synchronized (lock) { 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); } }
Go to most recent revision | Compare with Previous | Blame | View Log