Стуйка, идва нeкакъв келеш питонджия и почва да те учи как трябва да пишеш коректно и ефективно със CLR-a на C#, докато ти си изплюскал някакъв код да се пофалиш че си чувал за async/await. Я кажи ако първия ти await фърли ексепшън, втория таск ликва ли ти у дупарата с тоя зле написан код?
Yes, use WhenAll because it propagates all errors at once. With the multiple awaits, you lose errors if one of the earlier awaits throws.
Another important difference is that WhenAll will wait for all tasks to complete even in the presence of failures (faulted or canceled tasks). Awaiting manually in sequence would cause unexpected concurrency because the part of your program that wants to wait will actually continue early.
I think it also makes reading the code easier because the semantics that you want are directly documented in code.
Стуйо
Създадено на 20.10.2024, видяно: 151 пъти. #122638
Я! Напредък! Вярно цял ден успях да ти изгубя, но поне те накарах малко да мислиш и повече да гугулваш. И като гръмне тоталния каунт на документи, мен ебе ли ме да доставя страницираните документи? С моя зле написан код? Ако не мога дейта сорса да си го преброя, ебе ли ме дали мога да доставя някаква част от него? Мислене, синжир, мислене. Точно като Евгенипитека - ама то няма ексепшън хендлинг. Ама аз не го виждам, от де да знам! Малоумници та дрънкате.
А ще имаш ли смелостта да си признаеш, че си прост питонаджия и, че днес, благодарение на мен си изби от главата, че асинхорнен метод не забива при първия await де види в него :) Най-вероятно не, нали, щото аз само съм ви разправял за его-то ви :)
Моля, моля, пак заповядай. После ей такива като тебе идват при мен и ми искат 10 бона заплата. Само ваучери за храна за вас :)
Стуйо
Създадено на 20.10.2024, видяно: 149 пъти. #122641
Тъй де, но трябваше с 5 жокера да му подсказвам. Синжира щеше да изкара 8-ца при Тинко Тинчефф :)
waldorf
Създадено на 20.10.2024, видяно: 146 пъти. #122645
На return стейтмънта двата await-a се изпълняват паралелно, но не очаквам мазач на питон да разбира нещо от кода ми.
Не знам в .нет как е но в жабаскрипт ще се изчака първия await да върне резултат преди да се стартира втория. За паралелно изпълняване трябва да ги викнеш без await и да чакаш докато не се изпълнят всички promises. Шибано е ама върши работа.
Стуйо
Създадено на 20.10.2024, видяно: 143 пъти. #122647
На return стейтмънта двата await-a се изпълняват паралелно, но не очаквам мазач на питон да разбира нещо от кода ми.
Не знам в .нет как е но в жабаскрипт ще се изчака първия await да върне резултат преди да се стартира втория. За паралелно изпълняване трябва да ги викнеш без await и да чакаш докато не се изпълнят всички promises. Шибано е ама върши работа.
Е в джабаскрипта и аз не знам как е, чуек. Въпроса е, че вече всяка маймуна като синжира повтаря "добрите практики" от чат гпт и тръгва да спори без да разбира в детайли кое как работи. Тежки времена ни чакат.
Тъй де, но трябваше с 5 жокера да му подсказвам. Синжира щеше да изкара 8-ца при Тинко Тинчефф :)
усещам някаква завист, че имам 6 по логическо. знам, че за повечето хора е непосилно
Стуйо
Последно редактирано на 20.10.2024 от Стуйо, видяно: 140 пъти. #122649
Тъй де, но трябваше с 5 жокера да му подсказвам. Синжира щеше да изкара 8-ца при Тинко Тинчефф :)
усещам някаква завист, че имам 6 по логическо. знам, че за повечето хора е непосилно
Чуек, аз не завиждам, даже се гордея с моята 3-ка по логическо, защото вместо да уча безсмислието на тинковите чекии, аз си байндвах гридове на добрите стари уеб форми на ASP.NET за 1200 лева (или двойно на заплата на проф. Тодорова) и си плющях една от Толбухин :)
waldorf
Създадено на 20.10.2024, видяно: 135 пъти. #122654
нещо не разбирам. каква е разликата дали ще изчакаш едното, после другото vs да ги чакаш заедно. като performance ще е същото. нали вече са пуснати асинхронно да се изпълняват ?
Ако търкаляш нещо локално е наистина все тая. В повечето случаи де. Най голяма полза за момента съм виждал като пускаш мрежови заявки заради таймаутите. Особено като са към различни адреси. Е, няма как да си надскочиш скоростта на връзката ама поне може да я уплътниш.
Стуйо
Създадено на 20.10.2024, видяно: 131 пъти. #122655
Джони, колапса на цитиран текст изглеждат добре, ще помогне много срещу дрискачите. Даже на Евгенипитека може по дефолт да му се колапсват постовете. Хората да си ги отварят на собствен риск.
waldorf
Създадено на 20.10.2024, видяно: 129 пъти. #122657
Аз вече ти казах как е според мен. Я чакай да питаме копилота какво мисли. Пу деба и той казва същото. Koй друг да питаме? Кой ти плющи задвратници в офиса, ама само да не ми реферираш някоя друга джонка
Това е доказателство защо 'улесненията' като async/await са отрова.
Ако не можеш да пишеш читав асинхронен код на чисто це с тредове и процеси то не трябва да бъдеш допускан да пишеш асинхронен код въобще
+1
waldorf
Създадено на 20.10.2024, видяно: 127 пъти. #122658
и друго не разбирам - този списък дето се връща няма ли си брой, защо трябва да се броят паралелно ?
така не става ли само една излишна заявка към някаква база данни ?
Копелееее.... Тая шестица по логическо програмиране от 3-ти курс никаква работа не ти върши.
за шестицата по логическо е ясно.
и виж сега, аз пиша на ц++, вие на жава, питон, микрософт ц - това не са сериозни езици, вие сте един вид бели индийци. сори.
+1
waldorf
Създадено на 20.10.2024, видяно: 123 пъти. #122665
Какво да еба кодиш тея 17 години?
еми не всички сме бели индийци да пишем сайтчета
и да ти кажа, не знам "странициране на резултати" какво точно означава
Викаш само у сайтчетата има пейджинейшън?
Абе, Валдорфе, ти като хардкор Ц програмист, чувал ли си такива сложни за бабоеба термини?
Оф, аз съм писал почти всичко без 3Д и аудио/видео компресиране. Съгласен съм с Байо, че помага да можеш да подкараш и синхронизираш многозадачност в отделни нишки ако ползваш асинхронно орограмиране в една нишка. И че джава и ц диез са езици за индийци. И то щот съм минал 10-на години през .нет преди да му тегля майните. Това са езици възникнали за един много шибан бизнес модел - евтино кодене без дългосрочен ангажимент за поддръжка. С годините ми светна, че скъпото не е първоначалното правене на даден продукт а оправянето на бъг година две по късно като всички са забравили за какво иде реч.
waldorf
Създадено на 20.10.2024, видяно: 119 пъти. #122670
За fire and forget чувал ли си?
Да. Ако чорбаджията ти види какви ги сереш тука даже ще го усетиш лично.
Не ми се обяснявай на мене скъсан аутсорс циганин, Каква е разликата между да await-неш два таска ръчно с await, демек await t1; и после await t2;, вместо да ползваш await Task.WhenAll(t1, t2) ?
Ако двата таска вече са стартирани ще ги изчака да свършат и двата изпълнявайки ги в паралел. Ако не са пуснати а се пускат вътре в await ще ги изпълни последователно. Т.е. трябва да гледаш и да се замисляш кое как ще стане. Затова е по добре да го напишеш така, че и пълен идиот да не може да сбърка което не е лесно и си отнема време.
waldorf
Създадено на 20.10.2024, видяно: 113 пъти. #122675
Стуйка, идва нeкакъв келеш питонджия и почва да те учи как трябва да пишеш коректно и ефективно със CLR-a на C#, докато ти си изплюскал някакъв код да се пофалиш че си чувал за async/await. Я кажи ако първия ти await фърли ексепшън, втория таск ликва ли ти у дупарата с тоя зле написан код?
мхм, да, и в stackoverflow го пише това
Yes, use WhenAll because it propagates all errors at once. With the multiple awaits, you lose errors if one of the earlier awaits throws.
Another important difference is that WhenAll will wait for all tasks to complete even in the presence of failures (faulted or canceled tasks). Awaiting manually in sequence would cause unexpected concurrency because the part of your program that wants to wait will actually continue early.
I think it also makes reading the code easier because the semantics that you want are directly documented in code.
Много добре казано. Ползата от това да се ползва WhenAll се вижда като трябва да пипа някой смел келеш дето маже без да разбира. За стари пушки е все тая ама не всички са с толкова опит.
Стуйо
Създадено на 20.10.2024, видяно: 110 пъти. #122676
Какво да еба кодиш тея 17 години?
еми не всички сме бели индийци да пишем сайтчета
и да ти кажа, не знам "странициране на резултати" какво точно означава
Викаш само у сайтчетата има пейджинейшън?
Абе, Валдорфе, ти като хардкор Ц програмист, чувал ли си такива сложни за бабоеба термини?
Оф, аз съм писал почти всичко без 3Д и аудио/видео компресиране. Съгласен съм с Байо, че помага да можеш да подкараш и синхронизираш многозадачност в отделни нишки ако ползваш асинхронно орограмиране в една нишка. И че джава и ц диез са езици за индийци. И то щот съм минал 10-на години през .нет преди да му тегля майните. Това са езици възникнали за един много шибан бизнес модел - евтино кодене без дългосрочен ангажимент за поддръжка. С годините ми светна, че скъпото не е първоначалното правене на даден продукт а оправянето на бъг година две по късно като всички са забравили за какво иде реч.
Бате, повтаряш една и съща мантра, ако не е чисто Ц - значи е за мангали. И какво не ти ареса в .НЕТ ?
Стуйо
Създадено на 20.10.2024, видяно: 109 пъти. #122678
За fire and forget чувал ли си?
Да. Ако чорбаджията ти види какви ги сереш тука даже ще го усетиш лично.
Не ми се обяснявай на мене скъсан аутсорс циганин, Каква е разликата между да await-неш два таска ръчно с await, демек await t1; и после await t2;, вместо да ползваш await Task.WhenAll(t1, t2) ?
Ако двата таска вече са стартирани ще ги изчака да свършат и двата изпълнявайки ги в паралел. Ако не са пуснати а се пускат вътре в await ще ги изпълни последователно. Т.е. трябва да гледаш и да се замисляш кое как ще стане. Затова е по добре да го напишеш така, че и пълен идиот да не може да сбърка което не е лесно и си отнема време.
Т.е. според теб всеки от двата await-a, блокира другия?
waldorf
Създадено на 20.10.2024, видяно: 109 пъти. #122679
Джони, колапса на цитиран текст изглеждат добре, ще помогне много срещу дрискачите. Даже на Евгенипитека може по дефолт да му се колапсват постовете. Хората да си ги отварят на собствен риск.
Ъхъ! Единствено би било добре освен автора да има и няколко думи от цитирания текст за да си личи на какво се отговаря. Но задължително на същия ред, че да не яде място.
А ще имаш ли смелостта да си признаеш, че си прост питонаджия и, че днес, благодарение на мен си изби от главата, че асинхорнен метод не забива при първия await де види в него :) Най-вероятно не, нали, щото аз само съм ви разправял за его-то ви :)
Стуйо продължаваш да демонстрираш пълно неразбиране и прост питонджия да ти шока канчето. Да асинхронния ти метод Handle забива, първо await-va да свърши първия таск, после аwait-va da свърши втория, вместо едновременно да аwait-va да свършат и двата.
waldorf
Създадено на 20.10.2024, видяно: 96 пъти. #122701
А ще имаш ли смелостта да си признаеш, че си прост питонаджия и, че днес, благодарение на мен си изби от главата, че асинхорнен метод не забива при първия await де види в него :) Най-вероятно не, нали, щото аз само съм ви разправял за его-то ви :)
Стуйо продължаваш да демонстрираш пълно неразбиране и прост питонджия да ти шока канчето. Да асинхронния ти метод Handle забива, първо await-va да свърши първия таск, после аwait-va da свърши втория, вместо едновременно да аwait-va да свършат и двата.
Не и ако await-ваш вече стартирани promises. Чакай да видя пак кода де.