在看了比斯利书中的例子后,我正在和我的朋友交谈class ActorExit(Exception): passclass Actor: def __init__(self): self._mailbox = Queue() def send(self, msg): self._mailbox.put(msg) def recv(self): msg = self._mailbox.get() if msg is ActorExit: raise ActorExit() return msg def close(self): self.send(ActorExit) def start(self): self._terminated = Event() t = Thread(target=self._bootstrap) t.daemon = True t.start() def _bootstrap(self): try: self.run() except ActorExit: pass finally: self._terminated.set() def join(self): self._terminated.wait() def run(self): while True: msg = self.recv()class PrintActor(Actor): def run(self): while True: msg = self.recv() print('Got:', msg)我的朋友认为 Event 的唯一目的是阻塞主线程,直到另一个线程执行设置操作。真的吗?我们如何观察线程执行?
添加回答
举报
0/150
提交
取消