1 21 22 package org.armedbear.j; 23 24 public final class GarbageCollectionTask extends IdleThreadTask 25 { 26 private long lastRunMillis; 27 28 public GarbageCollectionTask() 29 { 30 setIdle(1000); setRunnable(runnable); 32 } 33 34 private synchronized final long getLastRunMillis() 35 { 36 return lastRunMillis; 37 } 38 39 private synchronized final void setLastRunMillis(long when) 40 { 41 lastRunMillis = when; 42 } 43 44 private final Runnable runnable = new Runnable () { 45 public void run() 46 { 47 if (Dispatcher.getLastEventMillis() > getLastRunMillis()) { 50 Runtime.getRuntime().gc(); 51 setLastRunMillis(System.currentTimeMillis()); 52 } 53 } 54 }; 55 } 56 | Popular Tags |