Русский English Тэги View Sergey Zolotaryov's profile on LinkedIn Вход
ConcurrentModificationException в java.util.ServiceLoader
Постоянная ссылка 02-05-2016 anydoby java

Сегодня напоролся на довольно неприятный баг в java.util.ServiceLoader, оказывается, по нему нельзя итерироваться в нескольких потоках. Так что сначала кэшируем содержимое, а потом уже кэш читаем параллельно.

Вот так делать нельзя, выходит:


ServiceLoader<MyService> loader = ServiceLoader.load(MyService.class);
   for (MyService optionConverter : loader)
   {
      // do something
   }

надо синхронизировать.

Добавить комментарий

Предыдущая статья Простая защита от root брут форс