マルチスレッドとスレッド プールの使用に関する概念を理解しています。私が理解しようとしている概念の 1 つは、各スレッドでどのメールが送信されたかを追跡する方法です。各スレッドが x 個のレコードを取得し、それらのメールを反復処理し、メール テンプレートを適用して、ピックアップ ディレクトリにメールを保存する役割を担っていると想像してください。明らかに、別のスレッドと同じデータをプルしないように各スレッドに指示する方法が必要です。
私が考えていた解決策の 1 つは、データをページングし、既に送信されたページを追跡するためのグローバル変数または配列を用意し、各スレッドにその変数を調べて、次の使用可能なページから開始することでした。私が考えることができる唯一の問題は、データが変更された場合、利用可能なページが同期しなくなる可能性があることです.
別の解決策は、データベースにブール値を設定して、アカウントが電子メールで送信されたかどうかを判断することです。したがって、EF は X 個のレコードを取得し、それらのレコードを電子メールで送信する準備ができているものとして更新します。このようにして、各クエリは、電子メールを送信する準備ができていない電子メールのみを検索します。
可能であれば、他の提案を得るか、提供したソリューションを拡張したかった.