Добрый день, хотел бы выразить вам большую благодарность за потраченное время на создания такого замечательного и полезного контента, посмотрел все ваши текущие уроки от самого первого и до этого, подача материала на высоте все понятно и простым языком, даже в такой сложной теме как многопоточность. Хотя изначально хотел просто изучить многопоточность на поверхности не углубляясь в детали) Не забрасывайте это дело так как у вас хорошо получается, удачи вам и всех Благ))
@vladzuev10 Жыл бұрын
Огромное спасибо!) Безумно приятно видеть такие комментарии!)
@e-researcher3 ай бұрын
Продвигаю видос, ютуб!
@vladzuev103 ай бұрын
Большое спасибо!)
@Freyzan-IT7 ай бұрын
Спасибо за видео
@programer8 Жыл бұрын
Такой молодой человек, а уже все знает!
@vladzuev10 Жыл бұрын
Спасибо!) хоть и неправда)
@outlaw4Iife Жыл бұрын
Спасибо за контент)
@vladzuev10 Жыл бұрын
Вам спасибо!)
@totalpolarfox Жыл бұрын
Бро, спасибо, как раз приступил к изучения тредов
@vladzuev10 Жыл бұрын
Вам спасибо!)
@nikitahryb23593 ай бұрын
Огромное спасибо за ваш труд! Отличный получился материал! Есть такой вопрос. В одном из уроков мы в двух потоках инкрементировали переменную определенное количество раз. Без синхронизации потоков мы получали результирующее значение переменной меньше чем сумма инкрементов этой переменной в каждом потоке. После синхронизации все заработало как надо потому что была решена проблема одновременного захвата переменной (тем самым инкременты не пропадали). Вопрос в следующем: может ли возникнуть такая ситуация когда два потока синхронизированно инкрементируют переменную но без ключевого слово valotile переменная будет находится в кэше каждого потока и из-за этого мы получим некорректный результат.
@vladzuev103 ай бұрын
Вам спасибо за поддержку!) Нет, такой ситуации возникнуть не может. Когда поток выходит из синхронизированного блока, он сбрасывает все изменения в основную память. А когда поток входит в синхронизированный блок, все изменения подтягиваются из основной памяти в кэш. Поэтому все изменения, сделанные одним потоком, будут видны другим потокам.
@nikitahryb23593 ай бұрын
@@vladzuev10 Понял. Спасибо за оперативный ответ!🤝
@iFunkyJuice5 ай бұрын
без JMM и отношения "happens before" тема конечно не раскрыта, но наверное для новичков и так сойдет)
@Pivikua6 ай бұрын
Почему ты делаешь классы final? Это же нарушает один из принципов SOLID. Я не вижу необходимости в данных задачах запрещать наследование.
@vladzuev106 ай бұрын
Большое спасибо за активность на канале!) Я обычно запрещаю наследование для тех классов, которые не были специально разработаны для этого. Это уже просто привычка. Если к существующему final классу нужно просто добавить какую-то функциональность, то это можно сделать и с помощью обертки. Не очень понял, какой именно из принципов нарушают final классы
@iFunkyJuice5 ай бұрын
@@vladzuev10 переходи на Kotlin, чтобы не писать final)