--- /dev/null
+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();
+ }
+}