Pull to refresh
0
0

User

Send message

Аккаунт Казахстан + карта тоже. Прокси Казахстан (браузер + система). Your current account is currently not eligible for Antigravity.

Возможно я что-то упускаю, но не могу понять, как в Вашем примере проверялась работа volatile, у меня всё равно проскакивает то тут, то там значение 0. Мой код ниже:

Hidden text
public class Example {
    volatile int x; // общий для всех потоков ресурс

    public void exec() {

        Thread thread1 = new Thread(new Runnable() {
            @Override
            public void run() {
                x = 1; // параллельно изменяет общий ресурс
            }
        });

        Thread thread2 = new Thread(new Runnable() {
            @Override
            public void run() {
                x = 2; // параллельно изменяет общий ресурс
            }
        });

        Thread thread3 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(x); // параллельно читает общий ресурс
            }
        });

        thread1.start();
        thread2.start();
        thread3.start();
    }
}


public class Main {

    public static void main(String[] args) throws NoSuchMethodException {

        while(true) {
            Example example = new Example();
            example.exec();
        }

    }

}

Information

Rating
5,173-rd
Registered
Activity

Specialization

Бэкенд разработчик
Git
SQL
ООП
PostgreSQL
Java
Spring Boot
Docker
REST
Junit
JDBC