@Override public void run() { try { while (!boss.isEnough) { Object[] objs = boss.getFromBuffer(); int step = objs.length / refs; for (int i = 0; i < refs; i += step) { objs[i] = boss.getRandomObject(); } boss.counter++; } } catch (Throwable t) { t.printStackTrace(System.out); boss.errorMessage = t.getMessage(); } }
@Override public void run() { try { while (!boss.isEnough) { Thread.sleep(sleepTime); boss.windowStart += shift; for (int i = 0; i < boss.OLD; i++) { Object[] objs = boss.BUFFER.get(i); for (int j = 0; j < objs.length; j++) { objs[j] = null; } } if (!WB.g1InConcurrentMark()) { System.out.println("%% start CMC"); WB.g1StartConcMarkCycle(); } else { System.out.println("%% CMC is already in progress"); } } } catch (Throwable t) { t.printStackTrace(System.out); boss.errorMessage = t.getMessage(); } }