1234567891011121314151617181920212223242526272829 |
- using CommonLang.Concurrent;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ZeusServerNode
- {
- public class SingleThreadTaskExecutor : IDisposable
- {
- private SingleThreadExecutor executor = new SingleThreadExecutor();
- public void Dispose()
- {
- executor.Shutdown();
- }
- public Task<TResult> Run<TResult>(Func<TResult> function)
- {
- Task<TResult> ret = new Task<TResult>(function);
- executor.Execute(() =>
- {
- ret.RunSynchronously();
- });
- return ret;
- }
- }
- }
|