public string Spawn(BaseHandler handler) { return dispatcher.Spawn(handler); }
public string Spawn(string pid, BaseHandler handler) { dispatcher.Spawn(pid, handler); return pid; }
public string Spawn(string pid, BaseHandler handler) { if (pid.StartsWith("_")) throw new Exception("Invalid pid name"); return InternalSpawn(pid, handler); }
private string InternalSpawn(string pid, BaseHandler handler) { handler.PID = pid; handler.dispatcher = this; var td = new TData { handler = handler }; td.thread = new Thread(td.RunMsg); //var f1 = DateTime.Now; lock (handlers) { handlers.Add(td); } //var f2 = DateTime.Now.Subtract(f1); //Console.WriteLine(f2.TotalMilliseconds); td.thread.Start(); Send(handler.PID, new SigOnly("create")); return pid; }
public string Spawn(BaseHandler handler) { return InternalSpawn("___" + (++ctr), handler); }