void IActor.Enqueue(MsgData message) { if (exited) { return; } lock ( messageQueue ) { messageQueue.Enqueue(message); } }
//skynet send call //发消息写到了外面,从Actor里拿出来了 public void Send(MsgData message, string actorName) { IActor actor; if (actorDict.TryGetValue(actorName, out actor)) { if (actor.Exited) { return; } actor.Enqueue(message); ReadyToExecute(actor); } }
protected abstract void Receive(MsgData message);