Java. Многопоточность. Урок 24. Condition.

  Рет қаралды 2,078

Vlad Zuev

Vlad Zuev

Күн бұрын

Пікірлер: 10
@НикитаШалимо-т4д
@НикитаШалимо-т4д Жыл бұрын
Хорошее видео, продолжай в том же духе! Спасибо тебе за уроки!
@svyatoiambrozii
@svyatoiambrozii Жыл бұрын
Супер пример получился!👍
@vladzuev10
@vladzuev10 Жыл бұрын
Большое спасибо!)
@АлександраКарабанова
@АлександраКарабанова Жыл бұрын
Отличный познавательный урок
@rasZam
@rasZam Жыл бұрын
Очень крутые уроки!
@vladzuev10
@vladzuev10 Жыл бұрын
Спасибо большое!) Безумно приятно!)
@maksmolch
@maksmolch Жыл бұрын
Спасибо за уроки! Продолжай!!!
@vladzuev10
@vladzuev10 Жыл бұрын
Вам спасибо!)
@arenmkhoyan
@arenmkhoyan 9 ай бұрын
Я так и до конца не понял зачем эти while а не if) Спасибо за уроки, супер видео
@vladzuev10
@vladzuev10 8 ай бұрын
И Вам за комментарий!) Давайте представим, что у нас есть буфер и два потока(Thread-0 и Thread-1) потребляют элементы с этого буфера, а один(Thread-2) кладет элементы в наш буфер. Рассмотрим случай, когда буфер пуст и мы вызываем метод await внутри блока if. Пусть сначала поток Thread-0 пытается извлечь элемент из буфера. Он видит, что буфер пуст и вызывает метод await. Затем пусть поток Thread-1 пытается извлечь элемент из буфера. Он так же видит, что буфер пуст и вызывает метод await. Затем поток Thread-2 без проблем ложит элемент в наш буфер и будит ранее заблокированные потоки Thread-0 и Thread-1. Затем пусть отрабатывает поток Thread-0. Он извлекает элемент из нашего буфера, который положил поток Thread-2, и в этот момент буфер снова пуст. Но затем вполне возможно, что поток Thread-1 начнет свою работу с точки вызова метода await. Т.к. мы написали if вместо while, поток Thread-1 начнет извлекать элемент из пустого буфера из-за чего возникнет ошибка. Чтобы этого избежать, поток Thread-1 должен еще раз перепроверить, не пуст ли наш буфер снова. Именно поэтому и необходимо помещать вызов метода await в цикл while. Очень надеюсь, что ответил) Извиняюсь за долгий ответ) Что-то я проморгал Ваш комментарий)
Wait for the last one 🤣🤣 #shorts #minecraft
00:28
Cosmo Guy
Рет қаралды 10 МЛН
This dad wins Halloween! 🎃💀
01:00
Justin Flom
Рет қаралды 12 МЛН
Life hack 😂 Watermelon magic box! #shorts by Leisi Crazy
00:17
Leisi Crazy
Рет қаралды 80 МЛН
Java. Многопоточность. Урок 37. CyclicBarrier
18:13