У меня есть программа, предназначенная для многопоточности. У меня есть класс ProcessRunnable
, который обрабатывает данные с большим количеством операций ввода-вывода. Все классы ProcessRunnable
запускаются в отдельных потоках, но создаются с общими экземплярами классов client/util.
Пример:
Client client = new Client();
Util util = new Util();
List<Runnable> runnables = new ArrayList<>();
for (int i; i < THREAD_COUNT; i++) {
runnables.add(ProcessRunnable
.builder()
.client(client)
.util(util)
.build());
}
runnables.forEach(runnable -> new Thread(runnable).start());
Мне любопытно, является ли повторное использование одних и тех же экземпляров классов в runnables блокирующим поведением и, по сути, заставляет мою программу становиться однопоточной?