public RuntimeModuleHandle Execute(RuntimeExecutionContext context) { RuntimeModuleHandle handle = new RuntimeModuleHandle { ExecutionContext = context }; Task task = new Task(() => ExecuteThreaded(context)); lock (tasks) { tasks.Add(handle, task); } task.Start(); return handle; }
public void WaitForProcessEnd(RuntimeModuleHandle handle) { if (tasks.ContainsKey(handle)) { tasks[handle].Wait(); } }