マルチスレッド アプリケーションのアーキテクチャと設計は初めてです。
次のような場合はどのように設計すればよいか、設計パターンがあればなお良いです。
以下を実行できる Windows サービスを設計する必要があります。
SQL Server データベースには、Organization テーブルと Events テーブルと呼ばれる 2 つのテーブルがあり、それぞれ組織のリストとその組織で発生しているイベントのリストを保持しています。
Windows サービスは、すべての組織のイベントを非同期的に処理する必要があります。Windows サービスは、組織テーブルから組織のリストを読み取り、組織ごとにスレッドを作成します。各組織スレッドは、2 秒ごとにイベント テーブルをポーリングし、イベントをイベント リストに読み込みます。イベント リストに何かが置かれたり利用可能になったりした場合は、別のオブジェクト (ディスパッチャー) を呼び出す必要があり、ディスパッチャー オブジェクトは、これらの各イベントを処理するイベント ハンドラー スレッドを作成して実行します。イベントが処理されたら、イベント ハンドラー スレッドを終了する必要があります。
イベント リストにイベントを配置するイベントには、複数のソースが存在する場合があります。
Delphi 2009 および SQL Server 2008 Express エディションを使用。
助けてください。