В Java существует несколько способов поделиться данными между двумя потоками. Вот некоторые из распространенных подходов: Синхронизированный метод или блок: Вы можете использовать ключевое слово synchronized для обеспечения синхронизации доступа к общим данным. Это позволит только одному потоку одновременно выполнять код в синхронизированном блоке или методе. // Объект, содержащий общие данные class SharedData {
private int sharedVariable;
public synchronized void setSharedVariable(int value) {
this.sharedVariable = value;
}
public synchronized int getSharedVariable() {
return sharedVariable;
}
}
// Использование общих данных в двух потоках SharedData sharedData = new SharedData();
// Поток 1 Thread thread1 = new Thread(() -> {
sharedData.setSharedVariable(10);
});
// Поток 2 Thread thread2 = new Thread(() -> {
int value = sharedData.getSharedVariable();
System.out.println(value);
}); Использование классов из пакета java.util.c