Недавно я прочитал книгу под названием «1012 * Параллелизм в прасе». Однако у меня есть запутанный вопрос: если поток (например, A), который получил блокировку, обновил некоторые переменные общей переменной. Для других потоков, конкурирующих за блокировку, когда будут видны эти обновления переменных? сразу после обновления A, или ему нужно подождать, пока A снимет блокировку, или нужно подождать, пока другие потоки получат блокировку, чтобы увидеть его? Чтобы сделать это просто, просто посмотрите на следующий рисунок:
Короче говоря, когда поток B сможет увидеть обновление? в [1]
, или [2]
, или [3]
? Я знаю, что видимость может быть гарантирована синхронизацией, но я хочу знать, когда это произойдет. В любом случае, ваш ответ всегда приветствуется.