Тёмный

Как устроена многопоточность в .net 

Архитектор ПО. Александр Желнин
Просмотров 8 тыс.
50% 1

Опубликовано:

 

15 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 42   
@ВасяПрестолов
@ВасяПрестолов 2 месяца назад
я в программировании самоучка, очень не хватает на русско-язычном ютубе именно таких специалистов ,интересные темы , очень хорошая подача материала . Спасибо.
@Kulibins1
@Kulibins1 2 месяца назад
всегда пожалуйста
@jenik6210
@jenik6210 29 дней назад
Спасибо большое
@vinogradova619
@vinogradova619 Год назад
Очень интересно 👍
@Kulibins1
@Kulibins1 Год назад
Спасибо
@ВладКолосов-ф1ц
Очень полезные видео, спасибо вам
@Kulibins1
@Kulibins1 Год назад
Всегда пожалуйста 😉
@kl45gp
@kl45gp Год назад
спасибо! Хочется такое же подробное обьяснение про асинхронность и ее сравнение с java
@Kulibins1
@Kulibins1 Год назад
Может и сделаю. Нужно только свои знания java подтянуть, т.к. java не пользуюсь
@releyshic
@releyshic 2 месяца назад
можете 1) отсортировать этот плейлист в правильном порядке - от старого к новому? 2) сделать видео про MVC, MVP, MVVM на Win Forms. Какие есть способы реализации этих паттернов и как это делать (что в каких папках должно быть, чего где не должно быть)? Также не понял MVC - есть куча каких то разных MVC с разными схемами; MVP, MVVM - это виды MVC или нет?
@Kulibins1
@Kulibins1 2 месяца назад
Виде по winforms точно не будет. Кстати по всяким патернам у Сергея Колобонги есть хорошие видео
@ВладКолосов-ф1ц
Классно было бы увидеть в след видео сравнение не только скорости, но и памяти на больших нагрузках rust vs c#
@viktoralferov2874
@viktoralferov2874 Год назад
на youtube есть: "How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python"
@Kulibins1
@Kulibins1 Год назад
С памятью отдельная тема. кроме того rust тут точно выиграет, т.к. сборщик мусора в c# чистит перриодически, а rust сразу как выделенная память не используется. Но код на Rust писать, гораздо сложнее из-за этого
@Kulibins1
@Kulibins1 Год назад
Нужно посмотреть про миллион Thread. Но блин если 1000000 потоков будет реально выделено, то это самый не реальный случай. Как раз в видео об этом говорю. А в видео про использовании памяти при 1,000,000 потоков у c# всё очень хорошо 🤗
@ryanlashkevich9615
@ryanlashkevich9615 Год назад
@@Kulibins1 ну в высоконагруженных серверах это может наблюдаться. Еще в конце 90-х появилась проблема поддержания большого кол-ва соединений - C10K problem. В 2010-х - это уже C10M (10 миллионов подключений). Соответственно, логично задать вопрос, при 10М подключений, сколько там потоков было, 10M? Наверно именно поэтому имеет смысл задуматься о ЯП для таких высоконагруженных проектов.
@Kulibins1
@Kulibins1 Год назад
@@ryanlashkevich9615 Всё правильно и .net в этом тесте очень даже хорошие результаты, а то на заставке к видео как будто плохие, но если его посмотреть то гораздо выше чем у конкурентов. У rust самые высокие показатели.
@infavi
@infavi Год назад
это так интересно, сам пока начинающий разработчик и плохо что понимаю, хотел бы посмотреть как это всё работет в unity
@Kulibins1
@Kulibins1 Год назад
В unity не покажу, т.к. им не занимался. Но там точно ипользуется специфичный threadpool, отличный от стаедартной реализации.
@grandlagging0zero175
@grandlagging0zero175 Год назад
Сравнение потоков, да такое, чтобы все ваши слова были в картинках на слайдах(можно взять какой-то простой код в качестве примерм)...так будет проще воспринять информацию
@Kulibins1
@Kulibins1 Год назад
И так стараюсь рисовать схемы. Буду еще больше их делать 😉
@sergeyintegral451
@sergeyintegral451 Год назад
Здравствуйте! Можете сделать видео - сравнения c# и java в разных аспектах ? Все таки основной конкурент c# это java, как многие считают
@Kulibins1
@Kulibins1 Год назад
Ок
@nouchance
@nouchance Год назад
спасибо!
@Kulibins1
@Kulibins1 Год назад
Всегда пожалуйста
@SkaarjTube
@SkaarjTube 9 месяцев назад
Интересно было про сравнение с Rust послушать
@Kulibins1
@Kulibins1 9 месяцев назад
Всё будет. но мне тяжко - не привык к rust
@user-pe7hi1zh2v
@user-pe7hi1zh2v Год назад
Добрый день! Сделайте пожалуйста видео про потокобезрпасные коллекции. Чем они отличаюстя от обычных коллекций и можно ли с их помощью отказаться от использования примитивов синхронизации
@Kulibins1
@Kulibins1 Год назад
Думал все знают. Сделаю.
@yuriy.kostenko
@yuriy.kostenko 10 месяцев назад
Так вроде тем же и отличаются, что синхронизация там встроена и не нужно самому об этом заботится.
@alexanderqwerty
@alexanderqwerty 5 месяцев назад
Не услышал объяснения как рантайм снимает один гринтред с выполнения и запускает другой
@Kulibins1
@Kulibins1 5 месяцев назад
в .net зелёные потоки только тестировались, а по факту это аналог коперативной многозадачности. Есть хороший пример как это работает на Rust. В .net тестили и пришли к выводу, что профит сомнительный. В этом видео я больше хотел рассказать как работает многопоточность и что когда мы пишем черещ async/await то каждый такой кусочек кода, может работать на другом потоке, что в результате даст нам масштабирование производительности.
@topProgrammer
@topProgrammer Год назад
В mvc , в контроллере как работает async await? Недавно спросили на собесе всегда ли нужно использовать асинк авейт в контроллере при работе с базой данных?
@Kulibins1
@Kulibins1 Год назад
Как я в этом видео показываю, использование async/await даёт нам разбиение нашей функции на блоки, которые лучше могут быть распределены по потокам. Что касается вопроса: то по возможности конечно нужно использовать async/await. Но сама среда .net core и так запустит функцию контроллера через пул потоков, хотите ли вы этого или нет.
@Hunter314414
@Hunter314414 Год назад
@@Kulibins1 А при выполнении запроса, если он не async await, главный поток заморожен при этом не будет?
@nv188-x5i
@nv188-x5i Год назад
⁠@@Hunter314414будет. Когда вы ждете ответа от базы или например ввод с клавиатуры, поток хоть и не выполняет никакой работы, но и не свободен. Поэтому все запросы лучше делать асинхронными, особенно если у вас нагруженное приложение.
@VelitiTV
@VelitiTV Год назад
А как работают IO операции? .net реально уходит ждать окончание операции на другой поток ?
@Kulibins1
@Kulibins1 Год назад
В плане тоже расскажу про IO операции, про каналы и т.д. И отвечая на вопрос, да при использовании async/await продолжение кода может (даже почти всегда) будет на другом потоке. Это даже хорошо, т.к. ресурсы лучше распределяются. Вон посмотрел видео про 1,000,000 потоков, так у .net очень даже хорошие результаты (хотя необходимость в 1,000,000 потоков сомнительна)
@alexeycherepanov9150
@alexeycherepanov9150 Год назад
В яву уже завозят GreenThread ы
@Kulibins1
@Kulibins1 Год назад
Они там были первыми. Только вот их необходимость не однозначна, дадут ли они хоть какой-нибудь профит в .net - не факт
@semen083
@semen083 6 месяцев назад
В 9 net тоже есть эксперимент по зелёным потокам
Далее
Understanding .NET C# Heaps (Deep Dive)
28:23
Просмотров 13 тыс.
Сколько стоят роды мечты?
00:59
Просмотров 781 тыс.
Батя всех бургеров на 7000 ккал!
00:55
Объясняю RxJS
1:01:18
Просмотров 32 тыс.
Чистая архитектура ASP.NET Core 7
25:20