29章アクター――スレッドActor
[†1] 12章のレターボックススタイルに似ているが、モノが独立した実行スレッドを持つ。
制約
- より大きな問題は、問題領域に対して意味のあるモノに分解される。
- 各モノは、他のモノがメッセージを入れるためのキューを持つ。
- 各モノは、データのカプセルであり、キュー経由でメッセージを受信する能力のみ公開する。
- 各モノは、他とは独立した独自の実行スレッドを持つ。
プログラム
1 #!/usr/bin/env python 2 3 import sys, re, operator, string 4 from threading import Thread 5 from queue import Queue 6 7 class ActiveWFObject(Thread): 8 def __init__(self): 9 super(ActiveWFObject, self).__init__() 10 self.name = str(type(self)) 11 self.queue = Queue() 12 self._stop_me = False 13 self.start() 14 15 def run(self): 16 while not self._stop_me: 17 message = self.queue.get() 18 self._dispatch(message) 19 ...
Get プログラミング文体練習 ―Pythonで学ぶ40のプログラミングスタイル now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.