я в программировании самоучка, очень не хватает на русско-язычном ютубе именно таких специалистов ,интересные темы , очень хорошая подача материала . Спасибо.
В mvc , в контроллере как работает async await? Недавно спросили на собесе всегда ли нужно использовать асинк авейт в контроллере при работе с базой данных?
Как я в этом видео показываю, использование async/await даёт нам разбиение нашей функции на блоки, которые лучше могут быть распределены по потокам. Что касается вопроса: то по возможности конечно нужно использовать async/await. Но сама среда .net core и так запустит функцию контроллера через пул потоков, хотите ли вы этого или нет.
@@Hunter314414будет. Когда вы ждете ответа от базы или например ввод с клавиатуры, поток хоть и не выполняет никакой работы, но и не свободен. Поэтому все запросы лучше делать асинхронными, особенно если у вас нагруженное приложение.
С памятью отдельная тема. кроме того rust тут точно выиграет, т.к. сборщик мусора в c# чистит перриодически, а rust сразу как выделенная память не используется. Но код на Rust писать, гораздо сложнее из-за этого
Нужно посмотреть про миллион Thread. Но блин если 1000000 потоков будет реально выделено, то это самый не реальный случай. Как раз в видео об этом говорю. А в видео про использовании памяти при 1,000,000 потоков у c# всё очень хорошо 🤗
@@Kulibins1 ну в высоконагруженных серверах это может наблюдаться. Еще в конце 90-х появилась проблема поддержания большого кол-ва соединений - C10K problem. В 2010-х - это уже C10M (10 миллионов подключений). Соответственно, логично задать вопрос, при 10М подключений, сколько там потоков было, 10M? Наверно именно поэтому имеет смысл задуматься о ЯП для таких высоконагруженных проектов.
@@ryanlashkevich9615 Всё правильно и .net в этом тесте очень даже хорошие результаты, а то на заставке к видео как будто плохие, но если его посмотреть то гораздо выше чем у конкурентов. У rust самые высокие показатели.
Добрый день! Сделайте пожалуйста видео про потокобезрпасные коллекции. Чем они отличаюстя от обычных коллекций и можно ли с их помощью отказаться от использования примитивов синхронизации
Сравнение потоков, да такое, чтобы все ваши слова были в картинках на слайдах(можно взять какой-то простой код в качестве примерм)...так будет проще воспринять информацию
в .net зелёные потоки только тестировались, а по факту это аналог коперативной многозадачности. Есть хороший пример как это работает на Rust. В .net тестили и пришли к выводу, что профит сомнительный. В этом видео я больше хотел рассказать как работает многопоточность и что когда мы пишем черещ async/await то каждый такой кусочек кода, может работать на другом потоке, что в результате даст нам масштабирование производительности.
можете 1) отсортировать этот плейлист в правильном порядке - от старого к новому? 2) сделать видео про MVC, MVP, MVVM на Win Forms. Какие есть способы реализации этих паттернов и как это делать (что в каких папках должно быть, чего где не должно быть)? Также не понял MVC - есть куча каких то разных MVC с разными схемами; MVP, MVVM - это виды MVC или нет?
С наилучшими пожеланиями из 2025 У Вас идет: await task() await task() Правильно ли я понимаю что хотите сказать что в таком случае 2 вызова и выполнение методов будут "параллельными(асинхронными )" если да, то это не так.
В плане тоже расскажу про IO операции, про каналы и т.д. И отвечая на вопрос, да при использовании async/await продолжение кода может (даже почти всегда) будет на другом потоке. Это даже хорошо, т.к. ресурсы лучше распределяются. Вон посмотрел видео про 1,000,000 потоков, так у .net очень даже хорошие результаты (хотя необходимость в 1,000,000 потоков сомнительна)
Большая редкость настолько наглядная и продуманная подача материала! Невероятно ценно!! ❤🔥
я в программировании самоучка, очень не хватает на русско-язычном ютубе именно таких специалистов ,интересные темы , очень хорошая подача материала . Спасибо.
всегда пожалуйста
Охренеть! Очень круто! Огромное спасибо!!!
Очень интересно 👍
Спасибо
Очень полезные видео, спасибо вам
Всегда пожалуйста 😉
спасибо! Хочется такое же подробное обьяснение про асинхронность и ее сравнение с java
Может и сделаю. Нужно только свои знания java подтянуть, т.к. java не пользуюсь
Спасибо большое
В mvc , в контроллере как работает async await? Недавно спросили на собесе всегда ли нужно использовать асинк авейт в контроллере при работе с базой данных?
Как я в этом видео показываю, использование async/await даёт нам разбиение нашей функции на блоки, которые лучше могут быть распределены по потокам. Что касается вопроса: то по возможности конечно нужно использовать async/await. Но сама среда .net core и так запустит функцию контроллера через пул потоков, хотите ли вы этого или нет.
@@Kulibins1 А при выполнении запроса, если он не async await, главный поток заморожен при этом не будет?
@@Hunter314414будет. Когда вы ждете ответа от базы или например ввод с клавиатуры, поток хоть и не выполняет никакой работы, но и не свободен. Поэтому все запросы лучше делать асинхронными, особенно если у вас нагруженное приложение.
Классно было бы увидеть в след видео сравнение не только скорости, но и памяти на больших нагрузках rust vs c#
на youtube есть: "How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python"
С памятью отдельная тема. кроме того rust тут точно выиграет, т.к. сборщик мусора в c# чистит перриодически, а rust сразу как выделенная память не используется. Но код на Rust писать, гораздо сложнее из-за этого
Нужно посмотреть про миллион Thread. Но блин если 1000000 потоков будет реально выделено, то это самый не реальный случай. Как раз в видео об этом говорю. А в видео про использовании памяти при 1,000,000 потоков у c# всё очень хорошо 🤗
@@Kulibins1 ну в высоконагруженных серверах это может наблюдаться. Еще в конце 90-х появилась проблема поддержания большого кол-ва соединений - C10K problem. В 2010-х - это уже C10M (10 миллионов подключений). Соответственно, логично задать вопрос, при 10М подключений, сколько там потоков было, 10M?
Наверно именно поэтому имеет смысл задуматься о ЯП для таких высоконагруженных проектов.
@@ryanlashkevich9615 Всё правильно и .net в этом тесте очень даже хорошие результаты, а то на заставке к видео как будто плохие, но если его посмотреть то гораздо выше чем у конкурентов. У rust самые высокие показатели.
Добрый день! Сделайте пожалуйста видео про потокобезрпасные коллекции. Чем они отличаюстя от обычных коллекций и можно ли с их помощью отказаться от использования примитивов синхронизации
Думал все знают. Сделаю.
Так вроде тем же и отличаются, что синхронизация там встроена и не нужно самому об этом заботится.
спасибо!
Всегда пожалуйста
это так интересно, сам пока начинающий разработчик и плохо что понимаю, хотел бы посмотреть как это всё работет в unity
В unity не покажу, т.к. им не занимался. Но там точно ипользуется специфичный threadpool, отличный от стаедартной реализации.
Здравствуйте! Можете сделать видео - сравнения c# и java в разных аспектах ? Все таки основной конкурент c# это java, как многие считают
Ок
Интересно было про сравнение с Rust послушать
Всё будет. но мне тяжко - не привык к rust
Сравнение потоков, да такое, чтобы все ваши слова были в картинках на слайдах(можно взять какой-то простой код в качестве примерм)...так будет проще воспринять информацию
И так стараюсь рисовать схемы. Буду еще больше их делать 😉
Не услышал объяснения как рантайм снимает один гринтред с выполнения и запускает другой
в .net зелёные потоки только тестировались, а по факту это аналог коперативной многозадачности. Есть хороший пример как это работает на Rust. В .net тестили и пришли к выводу, что профит сомнительный. В этом видео я больше хотел рассказать как работает многопоточность и что когда мы пишем черещ async/await то каждый такой кусочек кода, может работать на другом потоке, что в результате даст нам масштабирование производительности.
можете
1) отсортировать этот плейлист в правильном порядке - от старого к новому?
2) сделать видео про MVC, MVP, MVVM на Win Forms. Какие есть способы реализации этих паттернов и как это делать (что в каких папках должно быть, чего где не должно быть)?
Также не понял MVC - есть куча каких то разных MVC с разными схемами; MVP, MVVM - это виды MVC или нет?
Виде по winforms точно не будет. Кстати по всяким патернам у Сергея Колобонги есть хорошие видео
С наилучшими пожеланиями из 2025
У Вас идет:
await task()
await task()
Правильно ли я понимаю что хотите сказать что в таком случае 2 вызова и выполнение методов будут "параллельными(асинхронными )" если да, то это не так.
@@prumpumpumprumpumpum1607 в этом случае не будет параллелизма, но вот если запустить несколько task, потом уже делать await, то будет параллельно
А как работают IO операции? .net реально уходит ждать окончание операции на другой поток ?
В плане тоже расскажу про IO операции, про каналы и т.д. И отвечая на вопрос, да при использовании async/await продолжение кода может (даже почти всегда) будет на другом потоке. Это даже хорошо, т.к. ресурсы лучше распределяются. Вон посмотрел видео про 1,000,000 потоков, так у .net очень даже хорошие результаты (хотя необходимость в 1,000,000 потоков сомнительна)
Так когда продолжение?
@@ivanvoyager Есть пару материалов на эту тему. На новогодних праздниках буду записывать
База .
В яву уже завозят GreenThread ы
Они там были первыми. Только вот их необходимость не однозначна, дадут ли они хоть какой-нибудь профит в .net - не факт
В 9 net тоже есть эксперимент по зелёным потокам