示例#1
0
        public static DispatchHandler Create()
        {
            DispatchHandler handler = new DispatchHandler();

            handler.Start();
            return(handler);
        }
示例#2
0
        public async Task Stop()
        {
            DispatchHandler oldHandler = handler;

            if (oldHandler != null)
            {
                await runQueueSem.WaitAsync();
            }

            handler = null;
            oldHandler?.Dispose();
        }
示例#3
0
        public void Start()
        {
            DispatchHandler oldHandler = handler;

            handler = DispatchHandler.Create();

            if (oldHandler == null)
            {
                runQueueSem.Release();
            }
            else
            {
                oldHandler.Dispose();
            }
        }