package org.simantics.scl.runtime.utils; import org.simantics.scl.runtime.SCLContext; import org.simantics.scl.runtime.function.Function; import org.simantics.scl.runtime.tuple.Tuple0; public class AsyncUtils { public static void runAsync(Function f) { SCLContext context = SCLContext.getCurrent(); new Thread() { @Override public void run() { SCLContext.push(context); try { f.apply(Tuple0.INSTANCE); } finally { SCLContext.pop(); } } }.start(); } }