Sobes.tech
Junior — Middle

Programlamada volatile modifikatorü ne için kullanılır ve rolü nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Модификатор volatile в Java используется для обозначения переменной, значение которой может изменяться в любой момент времени из-за действий других потоков или аппаратных средств. Это гарантирует, что при чтении такой переменной поток всегда будет получать актуальное значение из основной памяти, а не из кэша процессора.

Роль volatile заключается в обеспечении видимости изменений переменной между потоками без использования полного механизма синхронизации (synchronized). Однако volatile не обеспечивает атомарность операций, поэтому для сложных операций (например, инкремент) требуется дополнительная синхронизация.

Пример:

public class Example {
    private volatile boolean flag = false;

    public void setFlag() {
        flag = true; // изменение будет видно другим потокам сразу
    }

    public void waitForFlag() {
        while (!flag) {
            // ждем, пока flag не станет true
        }
        System.out.println("Flag установлен!");
    }
}