ThreadPool図書館での使用は許容されますか?
ライブラリのユーザーも使用している場合は、明らかに不快な問題が発生する可能性があるためですThreadPool(ThreadPoolもちろん静的クラスであるため)。
コンベンションは何ですか?
ThreadPool図書館での使用は許容されますか?
ライブラリのユーザーも使用している場合は、明らかに不快な問題が発生する可能性があるためですThreadPool(ThreadPoolもちろん静的クラスであるため)。
コンベンションは何ですか?
はい。ライブラリコードでThreadPoolを使用するのが適切だと思います。ユーザーが外部でThreadPoolを使用する場合でも、ThreadPoolはそれ自体を調整するのに十分です。
一方、ライブラリ開発者は柔軟性を提供する必要があります。ユーザーは、ThreadPool、特定のスレッド、またはサードパーティのスレッドプール実装を使用することを選択できます。
はい。
十分に文書化されている限り、ライブラリのユーザーが最小/最大スレッドやスレッドプールをまったく使用しないオプションなどのスレッドプールを制御できるようにするメソッドを提供します。
また、ライブラリの公開されている部分がスレッドセーフであり、そうでない部分を明確にする必要があります。
ThreadPool は、複数のコンポーネントが同時に使用できるように設計されています。したがって、特定のライブラリから使用する場合、それ自体は特に問題はありません。
問題になる可能性があるのは、ライブラリでの一般的なスレッド動作です。ライブラリのスレッド セマンティクスが何であるかを明確に文書化する必要があります。これらのスレッドがどのように作成され使用されるかは、実装の詳細である必要があります。ThreadPool 自体に固有のプロパティ (COM アパートメント アフィニティ、スレッドをキャンセルできないなど) の 1 つが API またはコンシューマーに問題を引き起こさない限り、ThreadPool 自体に問題はありません。