Это зависит от обстоятельств, но в целом нет ничего, почему вы не могли бы использовать параллельные коллекции в программе EJB.
Контейнер EJB управляет (среди прочих) потоками запросов, то есть он принимаетзабота о выделении каждого входящего запроса в отдельный поток (взятый из пула потоков).Тем не менее, параллельные коллекции никоим образом не мешают этому: они не создают и не управляют потоками внутри, просто гарантируют, что данные, хранящиеся в них, могут безопасно получать доступ и изменяться несколькими потоками параллельно.
Примечаниечто вам нужно использовать одновременные коллекции только тогда, когда их содержимое доступно / изменено из нескольких потоков.Если ваши данные ограничены одним потоком (запросом), вам, скорее всего, не нужно беспокоиться о безопасности потока.
О sleep()
и synchronized
вы должны понимать, что они находятся на другом(более низкий) уровень абстракции, чем одновременные коллекции.Вам не нужно использовать какие-либо из них непосредственно при использовании одновременных коллекций.(Некоторые - но не все - коллекции используют синхронизированные блоки для своей реализации. Около sleep()
, я уверен, что он, вероятно, не используется ни в какой параллельной коллекции).
Без более конкретной информации о том, что вы бынравится достигать, трудно сказать больше.