// This pathological test tries to grow a FLC list as long as possible before // the threads from the previous FLC list have resumed running. Every one on // the old list then has to scan the entire new list. // The CACAO patch in file sableContention.patch can be used to examine the // maximum length. With 500 threads on a quad-core system, I managed to get to // about 120. class sableContention { public Object a[] = null; public tt ts[] = null; final int NUM = 500; class tt extends Thread { sableContention y; int x; tt(sableContention y, int x) { this.y = y; this.x = x; } public void run() { int i = 1; synchronized(y.a[x]) { if (x==0) { for (; i 0) { l(f-1); if (f<10) Thread.sleep(0, f*100 * 1000); } else { ts = new tt[NUM]; for (int i=0; i