CLRium #6: async/await. Машина состояний (Дмитрий Тихонов).

Sdílet
Vložit

Komentáře • 7

  • @maxm1079
    @maxm1079 Před 4 lety +14

    огромная благодарность за лекцию

  • @rbogdan8980
    @rbogdan8980 Před 3 lety +1

    Спасибо! А почему ничего не сказали про пул потоков?

    • @0x1000000
      @0x1000000 Před 3 lety +3

      Про пул потоков доклады на этой конференции безусловно были. Этот же доклад больше сфокусирован на конструкциях языка C# нежели на многопоточности. Строго говоря, конструкция async/await не связана с многопоточностью и может быть использована для решения совсем других задач, например: habr.com/ru/post/468017/

  • @timur2887
    @timur2887 Před 7 měsíci

    На счет исключений - Microsoft предложила парадигму отмены тасок через исключения TaskCanceledException, что само по себе настораживает)

    • @0x1000000
      @0x1000000 Před 5 měsíci

      Вряд ли можно было поступить по другому без серьезных изменений в CLR. С ходу не могу придумать лучшего решения, которое при этом обладало бы обратной совместимостью.

    • @timur2887
      @timur2887 Před 5 měsíci

      @@0x1000000 нарушение принципа единственной ответственности) новый вид исключений, который как бы не говорит о том, что пошло что-то не так, а просто какая-то задача была отменена штатным образом... Ну такой себе code smell

  • @DF-ov1zm
    @DF-ov1zm Před 11 měsíci

    Абсолютно любые исключения - это дикая посадка в перформансе, не так уж важно в таск они у вас завернуты или не в таск. Когда вам прям капец как нужен перформанс, вам хоть как от экспшенов придётся избавляться, а если вам плюс минус фиолетово, то какая разница, 10мс, или 100. 4 минуты канцелейшен токен мог отменять только, если в цикле проверяется, где каждый проход 4 минуты занимает.. ну тогда я хз причём тут экспшены, токены и асинк эвэйт.. кто то просто рукожоп.