public static void Loop(this NetThreadComponent self) { self.isRun = true; while (true) { try { if (!self.isRun) { return; } self.ThreadSynchronizationContext.Update(); foreach (AService service in self.Services) { service.Update(); } } catch (Exception e) { Log.Error(e); } Thread.Sleep(1); } }
public static void Remove(this NetThreadComponent self, AService kService) { // 这里要去下一帧删除,避免foreach错误 self.ThreadSynchronizationContext.PostNext(() => { if (kService.IsDispose()) { return; } self.Services.Remove(kService); }); }
public static void Stop(this NetThreadComponent self) { #if NET_THREAD self.ThreadSynchronizationContext.Post(() => { self.isRun = false; }); #endif }
public static void Stop(this NetThreadComponent self) { }