5

ThreadPool図書館での使用は許容されますか?

ライブラリのユーザーも使用している場合は、明らかに不快な問題が発生する可能性があるためですThreadPoolThreadPoolもちろん静的クラスであるため)。

コンベンションは何ですか?

4

3 に答える 3

3

はい。ライブラリコードでThreadPoolを使用するのが適切だと思います。ユーザーが外部でThreadPoolを使用する場合でも、ThreadPoolはそれ自体を調整するのに十分です。

一方、ライブラリ開発者は柔軟性を提供する必要があります。ユーザーは、ThreadPool、特定のスレッド、またはサードパーティのスレッドプール実装を使用することを選択できます。

于 2009-10-17T02:52:25.787 に答える
1

はい。

十分に文書化されている限り、ライブラリのユーザーが最小/最大スレッドやスレッドプールをまったく使用しないオプションなどのスレッドプールを制御できるようにするメソッドを提供します。

また、ライブラリの公開されている部分がスレッドセーフであり、そうでない部分を明確にする必要があります。

于 2009-10-17T02:45:15.670 に答える
0

ThreadPool は、複数のコンポーネントが同時に使用できるように設計されています。したがって、特定のライブラリから使用する場合、それ自体は特に問題はありません。

問題になる可能性があるのは、ライブラリでの一般的なスレッド動作です。ライブラリのスレッド セマンティクスが何であるかを明確に文書化する必要があります。これらのスレッドがどのように作成され使用されるかは、実装の詳細である必要があります。ThreadPool 自体に固有のプロパティ (COM アパートメント アフィニティ、スレッドをキャンセルできないなど) の 1 つが API またはコンシューマーに問題を引き起こさない限り、ThreadPool 自体に問題はありません。

于 2009-10-17T02:58:44.073 に答える