public static DispatchHandler Create() { DispatchHandler handler = new DispatchHandler(); handler.Start(); return(handler); }
public async Task Stop() { DispatchHandler oldHandler = handler; if (oldHandler != null) { await runQueueSem.WaitAsync(); } handler = null; oldHandler?.Dispose(); }
public void Start() { DispatchHandler oldHandler = handler; handler = DispatchHandler.Create(); if (oldHandler == null) { runQueueSem.Release(); } else { oldHandler.Dispose(); } }