状況によって異なりますが、一般に、EJBプログラムで並行コレクションを使用できなかった理由は何もありません。
EJBコンテナは(他の中でも)要求スレッドを管理します。つまり、着信要求を別のスレッド(スレッドプールから取得)に割り当てます。しかし、並列コレクションはこれを妨げません。スレッドを内部的に作成したり操作したりすることはありません。その内部に格納されたデータに複数のスレッドが安全にアクセスして変更できるようにするだけです。
コンテンツが複数のスレッドからアクセスまたは変更されている場合にのみ、コンカレントコレクションを使用する必要があることに注意してください。データが単一のスレッド(要求)に限定されている場合は、おそらくスレッドの安全性を気にする必要はありません。
約sleep()
およびこれらは、並行コレクションとは異なる(低い)抽象レベルにあることを理解する必要があります。並行収集を使用する場合は、これらを直接使用する必要はありません。 (一部ではありますが、コレクションのうちの一部ではなく、内部で同期化されたブロックが使用されます)。sleep()
については、おそらく同時収集では使用されていません。
あなたが達成したいと思うものについての具体的な詳細がなければ、それ以上は分かりません。