Если в джава нет потоков, то как получается что я закидываю например 4 задачи в ApplicationEventMulticaster (который может асинхронно создавать эвенты) и потом в EventListener ставлю ThreadSleep на 5 секунд, он заканчивает работу всех задач через 5 секунд. Или например как работает parallelStream по такому же принципу если он создает колличество потоков равное колличеству ядер и асинхронно их обрабатывает
Готов признать косяк, в целом не до конца разобрался в архитектуре работы многопотока, с точки зрения ОС, думал что java создает псевдо-потоки и не имеет возможности использовать ядра напрямую
Привет, спасибо за видео, интересно. А можешь рассказать про Future? Я почему-то думал что он связан с ассинхронностью в джава. И на счёт реактивного программирование. Это тоже про ассинх?
Да, это асинхронность, просто ты не делаешь await а сохраняешь лист с Future объектами, типо с теми, которые ты должен был дождаться, надеюсь объяснил))
Привет! Я сейчас изучаю Generics. И мне не понятен момент по стиранию типов во время компиляции.) Вопрос в следующем. Если после компиляции все параметры типа, которые прописываются в стираются и становятся Object, то потом каким образом выбрасывается исключение ClassCastException, который выбрасывается при Runtime? Т.е типы стираются, но информация это где-то хранится? Вопрос: где?
Со стороны зрителя скажу, неплохо было бы, если ты будешь добавлять свою мысль на экран, например ты даешь определение асинхронности и пишешь на экран определение , а так видос хорош
2:30 Что значит многопоточности не существует? И какие методы прерывания потоков? В жаве это отдельный термин. int из asm что ли? Только причём здесь это? И к какому потоку идёт обращение? Вот например, если sleep будет без помощи ос преобразован в speenWait? Бред какой-то. Потом непонятный код с println, где есть синхронизация... Что хотел сказать этим автор..
@@xmahz, ну это явно вранье. Такое в GIL только. В жаве каждый поток действительно независим, тк представляет собой поток от ос. Возможно перепутали с context switch? Да и то происходит только если нет свободных ядер у процессора.
@@xmahz, ну. Пункт потоки как раз про что я и говорил - context switch. Который бывает, когда есть только одно свободное ядро. Если у планировщик решит выделить больше ядер под процесс - такого не будет. Просто то, как описываете походит на GIL, что в корне неверно.
Очень хотелось бы увидеть видео про CompletableFuture!!! Спасибо за видос👍
Рано или поздно сделаю)
Спасибо автору. Хоть я и учу другой язык, интересно смотреть твои видео )
Приятно слышать)
Спасибо большое!
Рад стараться
Если в джава нет потоков, то как получается что я закидываю например 4 задачи в ApplicationEventMulticaster (который может асинхронно создавать эвенты) и потом в EventListener ставлю ThreadSleep на 5 секунд, он заканчивает работу всех задач через 5 секунд. Или например как работает parallelStream по такому же принципу если он создает колличество потоков равное колличеству ядер и асинхронно их обрабатывает
Готов признать косяк, в целом не до конца разобрался в архитектуре работы многопотока, с точки зрения ОС, думал что java создает псевдо-потоки и не имеет возможности использовать ядра напрямую
Привет, спасибо за видео, интересно. А можешь рассказать про Future? Я почему-то думал что он связан с ассинхронностью в джава. И на счёт реактивного программирование. Это тоже про ассинх?
Да, это асинхронность, просто ты не делаешь await а сохраняешь лист с Future объектами, типо с теми, которые ты должен был дождаться, надеюсь объяснил))
@@xmahz огонь, спасибо
Привет! Я сейчас изучаю Generics. И мне не понятен момент по стиранию типов во время компиляции.)
Вопрос в следующем.
Если после компиляции все параметры типа, которые прописываются в стираются и становятся Object, то потом каким образом выбрасывается исключение ClassCastException, который выбрасывается при Runtime? Т.е типы стираются, но информация это где-то хранится? Вопрос: где?
Салут, ответ обширный получается, напиши мне в телеграм @xmahz
Автор, что у тебя за ide?
Idea обычная
@@xmahzа какая тема ?
@@loray2944 One Dark Vivid Italic в плагине Material Theme
Со стороны зрителя скажу, неплохо было бы, если ты будешь добавлять свою мысль на экран, например ты даешь определение асинхронности и пишешь на экран определение , а так видос хорош
Да там определение скучное, но я учту, спасибо
2:30 Что значит многопоточности не существует? И какие методы прерывания потоков? В жаве это отдельный термин. int из asm что ли? Только причём здесь это?
И к какому потоку идёт обращение? Вот например, если sleep будет без помощи ос преобразован в speenWait?
Бред какой-то. Потом непонятный код с println, где есть синхронизация... Что хотел сказать этим автор..
То и значит, у тебя 1 поток который явно прыгает между несколькими, так скажем, задачами, эти задачи можно охарактеризовать как потоки
@@xmahz, ну это явно вранье. Такое в GIL только. В жаве каждый поток действительно независим, тк представляет собой поток от ос. Возможно перепутали с context switch? Да и то происходит только если нет свободных ядер у процессора.
@@zeroanyway habr.com/ru/articles/164487/
Хабр, конечно, такой себе авторитет, но в целом информация правдивая
@@xmahz, ну. Пункт потоки как раз про что я и говорил - context switch. Который бывает, когда есть только одно свободное ядро. Если у планировщик решит выделить больше ядер под процесс - такого не будет.
Просто то, как описываете походит на GIL, что в корне неверно.
@@zeroanyway "Такого не будет" чего именно?
в java есть либа awaitility
Быть может есть, но зачем?