2016-04-16 2 views
0

В настоящее время я использую ConcurrentLinkedQueue в моем рабочем потоке (собственная реализация). Как правило, лучше использовать ExecutorService или это зависит от случая?Java newSingleThreadExecutor vs собственный поток с очередью

+0

Служба-исполнитель лучше. Какой тип ExecutorService или ThreadePoolExecutor зависит от варианта использования. Посмотрите: http://stackoverflow.com/questions/3984076/what-are-the-advantages-of-using-an-executorservice и http://stackoverflow.com/questions/33596079/how-to-properly -use-ява-исполнитель/33596230 # 33596230 –

ответ

2

Я бы сказал, что это «вообще» лучше использовать и Исполнитель, поскольку вы лучше контролируете, сколько и как создаются потоки, и можете легко обойти одного и того же исполнителя в разных местах для экономии ресурсов. Создание собственного потока гарантирует создание потока и возьмет на себя все ресурсы, которые будут вместе с этим. Я всегда заказываю исполнителей в местах, где требуется нить. Но, конечно, это зависит от ситуации. Для вас это не может иметь большого значения. Используя исполнителя, вы также заменяете необходимость написания логики потребления очереди и задач. Вы можете просто отправить задания на один исполнитель потока и получить ту же функциональность.

Смежные вопросы