Anonymous
я ж относительно молодой, мне неведомо как у дидов было
Doge
слушайте, а вот те, кто в этой группе из стареньких, вы можете мне сказать четко, какой была жизнь асинхронных приложений до того как всякие async/await стали мейнстримом? месиво из колбеков в сыром виде?
Я тоже не старенький, но застал старые проекты. Если говорить про асинхронное IO, то его просто очень мало кто использовал, вот и вся история
Doge
А так каллбэки/rx подобные штуки и т.д. и т.п., там где реактившина и асинхронность была
Anonymous
Я тоже не старенький, но застал старые проекты. Если говорить про асинхронное IO, то его просто очень мало кто использовал, вот и вся история
Но асихронное IO на уровне ОС же с незапамятных времен, тем более что нынче вроде как на аппратном уровне есть поддержка таких вещей, насколько мне известно.
Roman
Но асихронное IO на уровне ОС же с незапамятных времен, тем более что нынче вроде как на аппратном уровне есть поддержка таких вещей, насколько мне известно.
а толку-то, ты вон на джаву посмотри — сделают себе отдельные тредпулы под разные нужды и хуячат блокирующие вызовы
Anonymous
да я и думал, что будет такой ответ. но хотелось бы от стареньких услышать, кто это лично застал.
Roman
и, видимо, хватает
Anonymous
тредпол + блокирующие вызовы звучит как самое адекватное решение
Roman
да я и думал, что будет такой ответ. но хотелось бы от стареньких услышать, кто это лично застал.
я еще совсем зеленым джуном застал пришествие async/await. До этого просто блокирующие вызовы были
Anonymous
ну APM это чисто колбек-дривен, верно? BegingXXX / EndXXX
Roman
но у меня тогда статистика проектов была очень маленькая)
Aleksander
Были Begin/End Operation + IAsyncResult, но мало кто их использовал
Doge
Но асихронное IO на уровне ОС же с незапамятных времен, тем более что нынче вроде как на аппратном уровне есть поддержка таких вещей, насколько мне известно.
Ну не прям уж с незапамятных. Да и то основной вопрос не когда возможность со стороны ОС появилась, а когда этим стали активно пользоваться
Aleksander
https://docs.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns/asynchronous-programming-model-apm?redirectedfrom=MSDN
Roman
Ну не только. BeginXXX, EndXXX, IAsyncResult
не спорю, я просто не сталкивался)
Vagif
Но в основном ленились и херачили блокирующие запросы.
Roman
да наверное вполне оправдано
Roman
в большинстве случаев)
Vagif
Многие до сих пор херачат через Wait и Result.
Anonymous
ThreadPool.Enqueu()?
Vagif
но на тредпуле?
Я мало с тредпулами работал, не помню, как там чаще делали.
Anonymous
Я мало с тредпулами работал, не помню, как там чаще делали.
то есть, ты больше сталкивался с кодом, который "в наглую" текущий тред блокирует?
Vasily
Потоки были
Vasily
И примитивы синхронизации
Vasily
А не вот это вот всё
Anonymous
Потоки понятно, но ты руками прям не создавал (наверно) новые потоки.
Anonymous
ТредПул юзал небось
Aleksander
BackgroundWorker)
Vasily
Создавал
Vasily
BackgroundWorker)
Ну такое
Anonymous
а чем тредпул тебя не устраивал не помнишь?
Vasily
Потоки были ближе
Vasily
В 2003 году
Anonymous
Ну я с си пришел
Ага, понятно. p_thread?
Anonymous
или как там
Vasily
Тредпулов вроде не было
Vagif
то есть, ты больше сталкивался с кодом, который "в наглую" текущий тред блокирует?
Не скажу что больше. Я потоки использовал , паттерны выше. Но многие не утруждали себя
Vasily
Ага, понятно. p_thread?
Это Линукс, я под винду писал
Vasily
Тредпул как бы не со второго фреймворка появился
Doge
то есть, ты больше сталкивался с кодом, который "в наглую" текущий тред блокирует?
Ты так говоришь, словно сейчас так не делают. Смотри какую-нибудь джаву со спрингом, так до сих пор всё так у большинства людей
Vasily
Потом tpl пришел
Vasily
Году в 2008 вроде
Anonymous
Это Линукс, я под винду писал
то есть, на С p_thread нельзя под Винду собрать никак? не знал..
Anonymous
но я на С не писал мультипоточный код никогда
Anonymous
только алгоритмы учил
Anonymous
posix thread
Anonymous
или что-то такое
Vasily
Под винапи старт тред и погнали
Anonymous
ааа, понятно
Anonymous
чтобы прям new Thread я такое редко вижу.
Vasily
Я застал времена, когда винформы были откровением
Anonymous
а до этого ВинАпи использовалось для отрисовки?
Doge
сейчас легче тред с тредпула взять, как минимум.
Я именно про блокирование на io операциях и т.п.
Vasily
Если что
Roman
Потоки были
ну ты ж для ио вызовов не создавал отдельный поток?
Vasily
До этого было mfc
Anonymous
Формы это тоже винапи
Я на формах за всю жизнь 10 строчек кода поправил один раз и забыл
Anonymous
моя технология была WPF, но тоже в очень ограниченном количестве
Roman
Я таких слов тогда не знал
у тебя ж стаж 70 лет вроде
Vasily
Wpf топ
Vasily
За свои деньги
Anonymous
ты исходный код видел, да? частично его можно было посмотреть
Anonymous
это же пиздец
Vasily
Код не видел, но писали индусы
Anonymous
Там адский пиздец.
Anonymous
я как код увидел, я сразу понял, почему оно умрет
Vasily
Был момент, когда была концепция dependency property одновременно в wpf и wwf
Vasily
Причем везде своя реализация
Vasily
Но wwf уже никто не помнит, хотя это предшественник акторных систем
Roman
я как код увидел, я сразу понял, почему оно умрет
оно нас переживет в глубинах тфс какого-нить банка
Vasily