Встречается на собеседованиях • сегодня

Что такое Exchanger

Exchanger — это синхронизатор из пакета `java.util.concurrent`, позволяющий двум потокам обмениваться данными в определенной точке выполнения. Оба потока блокируются при вызове `exchange()` до момента, пока оба не вызовут этот метод, после чего происходит обмен объектами. Пример: ```java Exchanger exchanger = new Exchanger<>(); new Thread(() -> { try { String received = exchanger.exchange("Data from Thread 1"); System.out.println("Thread 1 received: " + received); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } }).start(); new Thread(() -> { try { String received = exchanger.exchange("Data from Thread 2"); System.out.println("Thread 2 received: " + received); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } }).start(); ``` Вывод: ``` Thread 1 received: Data from Thread 2 Thread 2 received: Data from Thread 1 ``` Полезен для задач типа "производитель-потребитель" или pipeline-обработки.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы