@Ernest3
Учусь программированию

Всегда ли в могопоточности при работе с общими данными надо использовать volatile?

Пока изучал многопоточность заметил что забыл volatile в данном коде:
public class Test {
    static int j = 0;
    public static void main(String[] args){
        th Th = new th();
        Thread thread = new Thread(Th);
        thread.start();

        try {
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println(j);
    }

    public static class th implements Runnable{
        public void run(){
            for (int i = 0; i < 1000; i++) {
                j++;
            }
        }
    }
}

и задался вопросом когда нужно использовать volatile а когда можно и не использовать.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы