Уроки C# - Прервать задачу - Cancel Task

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 พ.ย. 2024

ความคิดเห็น • 119

  • @m1xaedzy
    @m1xaedzy 3 ปีที่แล้ว +13

    если инициализируете соурсы токены в цикле каком нибудь - не забывайте их обернуть в юзинги, а то словите утечку памяти)

    • @johnrollan2256
      @johnrollan2256 3 ปีที่แล้ว

      они оба(CancellationTokenSource и CancellationToken ) создают утечку памяти или один из них? спасибо

    • @KokemomoPaiChan
      @KokemomoPaiChan 3 ปีที่แล้ว

      @@johnrollan2256 CancellationTokenSource

    • @kastyel1990
      @kastyel1990 2 ปีที่แล้ว

      Вопоос, а на что влияет утечка памяти? Ибо обьяснений много, или я тугой, но не до конца понимаю.

    • @m1xaedzy
      @m1xaedzy 2 ปีที่แล้ว

      @@kastyel1990 приложение пожирает слишком много отделенной ей памяти, и если нет настроек в докере/кубере, то приложение просто перестанет выполнять что либо из за outOfmemory exception, и множества других ошибок. В кубере вроде по дефолту будет рестарт преложения ( тобишь твое приложение будет недоступно на протяжение пару минут), когда я работал около биг даты - это было чревато очередью в несколько миллионов необработанных сообщений ( из за чего юзеры получали обновления слишком долго) , так же увеличится время выполнения операций и тому подобное

    • @m1xaedzy
      @m1xaedzy 2 ปีที่แล้ว

      @@kastyel1990 да и представь, что будет с твоим компьютером, если у тебя 4гб озы, а приложение начнет жрать и упираться в потолок ресурсов компьютера ( это синие экраны, дикие лаги)

  • @zohirsattorov2521
    @zohirsattorov2521 3 ปีที่แล้ว +7

    Салам!
    Спасибо Бро! Безконечный Респект!
    Твои уроки оочень полезные и ты хорошо объесняешь! Из твоих уроков я многого научился и делаю качественные проекты!
    Ты лучший! Не слушай других, продолжай!

  • @leonruscraft
    @leonruscraft ปีที่แล้ว +2

    Самое лучшее объяснение CancellationToken🤘

  • @walerij
    @walerij 3 ปีที่แล้ว +5

    Хачатур, да тому, что люди пытаются придраться к твоему коду, есть простое объяснение. Мне кажется, что те люди, не новички, а имеющие хоть какой-то опыт, но видя с тебе профессионала, пытаются как бы себе самим доказать, что мол я не хуже этого профи Хачатура. Представляешь, как приятно, когда ты смог поправить самого гуру какого-нибудь. Совсем новички (я в их числе) просто восхищаются и хотят так же. Середнячки действуют, как я описал выше. Это не потому, что они хотят именно тебя оскорбить или задеть, а потому, что хотят доказать сами себе что-либо. И это в принципе нормально: хотеть быть лучше, чем учитель. Ну а совсем боги опытные, они уже все эти стадии прошли, и им не нужно ничего никому доказывать.

  • @СергейЦыганков-ф8ц
    @СергейЦыганков-ф8ц 3 ปีที่แล้ว +3

    Спасибо за новые возможности сам программирую уже 10лет а о многом даже и незнал

  • @aquarium89
    @aquarium89 3 ปีที่แล้ว +6

    Вспомнился случай...
    Пошел я однажды давно на небезызвестный кибер-форум, что-то там узнать, ну и к вопросу приложил часть своего кода, по которому был вопрос. Так вот местные там мсье, сказали что-то типа "писать сначала научитесь, а потом вопросы задавайте") И начали тыкать в такие места кода, типа вот тут переменную нельзя такую использовать, а вот это надо с большой буквы писать, а там вообще строки местами поменять надо... И вот как-то даже обидно стало, ведь код то был рабочий, и личный взгляд тогдашнего меня, вполне себе читабельный, а главное, что вопрос вообще не относился к этим самым "косякам".
    Наверное с тех пор, показывая свою писанину, заранее прошу за нее прощения, если вдруг кого-то чем-то зацепит😁
    Понятное дело что есть какие-то общепринятые нормы и приавила, но, во-первых, подчерк у всех разный, а во-вторых, не надо кидаться на новичков в особенности за какие-то недочеты, лучше подскажите и поправьте, а если не можете сделать это корректно, то будьте еще умнее и промолчите...

    • @infinitynoir5441
      @infinitynoir5441 3 ปีที่แล้ว

      Ру комьюнити в программировании вообще само по себе кусок токсичного дерьма. Да, даже если на стеке расписывают все подробно (что иногда может пригодиться), то все равно там человеческое отношение совершенно другое

  • @НаташаИбраева-о5з
    @НаташаИбраева-о5з 2 ปีที่แล้ว +2

    Хачатур, я только недавно нашла Ваш канал, но у Вас узнала намного больше, гораздо подробнее, намного понятнее чем на курсах Skillbox. Спасибо за ваши видео, баньте всех завистников. Они бы лучше свои программы писали хорошо, чем пытались задеть Вас. Уверена у большинства из них нет ни одного годного продукта. Так что продолжайте развиваться, а там может и мы начинающие чему-нибудь у вас научимся.👍

    • @XpucT
      @XpucT  2 ปีที่แล้ว

      Спасибо, Наташ

  • @BoddenDeni
    @BoddenDeni ปีที่แล้ว +1

    Давай еще видео. Все очень просто и понятно. СПасибо.

  • @davidmazayan7668
    @davidmazayan7668 3 ปีที่แล้ว +2

    Продолжай так как ты думаешь. Ты идеально объясняешь на живых примерах. Благодаря твоих видео реально я создал очень большой CRM систему. Реально работает СПАСИБО
    Привет из АРМЕНИИ ))

  • @vadymkon
    @vadymkon ปีที่แล้ว +1

    ЫЫЫ, так порадовало когда ты бул показал, ведь когда-то на плюсах я сам до этого додумался. Прикольно и приятно :)
    +: Фразу "потому что канселейшн-токен послал отмену" можно вроде вообще мемом сделать

  • @7.8.12-s3m
    @7.8.12-s3m 3 ปีที่แล้ว +1

    друган спасибо за труды ты всё делаеш привильно .... дай БОГ тебе здаровья

  • @paxvostrum4824
    @paxvostrum4824 3 ปีที่แล้ว +1

    Именно такой стиль преподавания лучше всего заходит, привет твоему коту!

    • @XpucT
      @XpucT  3 ปีที่แล้ว

  • @JenyaHW
    @JenyaHW 3 ปีที่แล้ว +4

    Отличный урок! Спасибо.

  • @Denitka
    @Denitka ปีที่แล้ว +1

    Да ёпрст, супер видосы, вот, прям, огонь!

  • @denisk7454
    @denisk7454 3 ปีที่แล้ว +1

    Хачатур, привет. Смотрю твои видосы буквально недавно, и хочу сказать спасибо за твой труд, за то что тебе это нравится, за то что ты такой какой есть, за твою уникальную подачу материала! )) Не знаю, в чём то узнаю реверсеров из олдов)) По поводу мессий из комментов - ваще забей! Кому чо не нравится, пусть не смотрят и идут лесом, а я смотрел, и буду смотреть твои видосы, снимай исчо!

  • @yankweh2387
    @yankweh2387 3 ปีที่แล้ว +3

    Круто, как всегда!

  • @Sharpei14
    @Sharpei14 2 ปีที่แล้ว +1

    Здравствуй!Благодарствую!)

    • @XpucT
      @XpucT  2 ปีที่แล้ว +1

    • @Sharpei14
      @Sharpei14 2 ปีที่แล้ว +1

      @@XpucT Я бы стал спонсором канала, но кнопки нет((. Нужна альтернатива)). Ну прям очень-очень хочется!

  • @user-wu-tang
    @user-wu-tang ปีที่แล้ว +1

    Привет ув. Хачатур
    Респект за то, что повысил еще на 7%

    • @XpucT
      @XpucT  ปีที่แล้ว

      😇
      🙏

  • @ewgenbi
    @ewgenbi 3 ปีที่แล้ว +2

    Спасибо. Всё правильно делаешь.

  • @tavvi4569
    @tavvi4569 3 ปีที่แล้ว +3

    Коме интересно почему на 7:00 выдало ошибку. Дело в том что асинхронные методы по идеи должны возвращать типы Task и Task, но еще добавили поддержку возвращаемого типа void, чтобы события могли вызывать асинхронные методы. Поэтому в этом случае нельзя менять void на Task так как сигнатура метода Button1_Click не соответствует сигнатуре события button.OnClick.

  • @vladfoton
    @vladfoton 3 ปีที่แล้ว +3

    Молодец, продолжай !!! на хейт не обращай внимание...

  • @elena_khizhnyak
    @elena_khizhnyak 3 ปีที่แล้ว +1

    Спасибо Вам огромное за полезный материал! Обожаю Ваши уроки! ✊🥰
    А на душнил забейте, такие всегда будут выделываться в комментариях.

  • @damascake
    @damascake 3 ปีที่แล้ว +1

    Этот комплекс называется - перфекционизм.

    • @phat80
      @phat80 3 ปีที่แล้ว

      Иногда это называется долбо…зм. Например, человек пишет простейшее приложение, а ему предлагают применить там все возможные паттерны ООП, а иначе типа «зачем тебе понадобился ООЯП?». Иной раз что-то простое можно быстрее написать тупо в процедурном стиле и не морочить никому голову, особенно когда ты знаешь, что это приложение никогда не станет аналогом офиса или фотошопа, да и вообще у него будет одна единственная версия, первая и последняя, которая будет работать. Но нет, есть умники, которые тебя будут тыкать, что как это так, не проработал архитектуру приложения. Хотят чтобы ты потратил не 4-5 часов на написание программулины, а 4-5 дней минимум.

  • @unique4883
    @unique4883 3 ปีที่แล้ว +2

    CancellationToken, мьютекс семафор нормальная тема, если у вас больше пяти потоков.

  • @gonpachiro2225
    @gonpachiro2225 ปีที่แล้ว +1

    Спасибо за урок) Честно говоря про токен так и не понял, это просто дополнительный if в коде, по сути ведь это тот же бул, просто больше засоряет код и портит немного оптимизацию) Просто сам недавно его пытался использовать, но прикола так и не понял)

  • @7.8.12-s3m
    @7.8.12-s3m 3 ปีที่แล้ว +1

    я так понял из видоса есть два варианта ...1 если вас послали и вы нах свалили .... 2 вас послали и вы культурно попрощялись и вышли )))) токинь мокинь )))) для меня эт как в лес за дровами с пилкой от лобзика ))))

  • @AndriySylyvonyuk
    @AndriySylyvonyuk 2 ปีที่แล้ว +1

    Круто. Сделай видео урок по конечных автоматах на шарпе. Если используешь в своих проектах

  • @АлександрКонев-й9п
    @АлександрКонев-й9п 3 ปีที่แล้ว +2

    Дурной тон это как я как раз в защиту Тапла сказал супротив параметров с out предлагаемых в комментарии.

    • @Richard-Gir
      @Richard-Gir 3 ปีที่แล้ว

      Какой, нафиг, Тапл? Тюпл - правильно Хачатур произносит. Tuple, duplex, etc. Apple - эпл, так специально тут две "p" стоят, иначе бы эйпл читалось.

    • @АлександрКонев-й9п
      @АлександрКонев-й9п 3 ปีที่แล้ว

      @@Richard-Gir m.th-cam.com/video/xWGcUbDeBmM/w-d-xo.html не стоит вам заниматься английским

    • @Richard-Gir
      @Richard-Gir 3 ปีที่แล้ว

      @@АлександрКонев-й9п Я им и не занимаюсь, просто знаю, что правильно "тюпл". "Тапл" - это, видимо, какая-то современная интерпретация, как кофе среднего рода. Кстати, в комментариях к вашему видео как раз люди пишут, что в англиях и америках люди тюпл говорят. Яндекс-переводчик дает "тюпл", гугель - "тапл".

  • @KokemomoPaiChan
    @KokemomoPaiChan 3 ปีที่แล้ว +1

    Спасибо)

  • @Anton-Os
    @Anton-Os 3 ปีที่แล้ว +1

    Спасибо!

  • @aquarium89
    @aquarium89 3 ปีที่แล้ว +3

    06:06 😁👍

  • @kastyel1990
    @kastyel1990 2 ปีที่แล้ว +1

    Да и еще вопрос... Сделал информативную формочку с данными, которая генерирует поля на основании sql процедурки. Теперь клиент просит ее выводить на печать. Я начал костылить это через report viewer, но может есть более простые способы?

    • @XpucT
      @XpucT  2 ปีที่แล้ว

      В сети полно библиотек для работы с печатью любых данных. Вот что точно не стал бы с нуля писать. Особенно, если нужно какому-то клиенту.

    • @kastyel1990
      @kastyel1990 2 ปีที่แล้ว +1

      @@XpucT Спасибо. Еще покопаюсь, ибо пока нашел только отчеты. Но раз ты говоришь, значит я не верно ставлю вопрос поисковику.)

  • @blackdream9372
    @blackdream9372 3 ปีที่แล้ว +2

    Привет, Христ! Можешь подсказать почему когда я запускаю очистку в Win 10 Tweaker у меня зависает на пункте "Очистка кэша обновление Windws". Возможно это тебе поможет , но когда я запускаю Win 10 Tweaker на Windwows SandBox и захожу в системную информацию там вылазит ошибка: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parametr name: index

    • @XpucT
      @XpucT  3 ปีที่แล้ว

      Привет 🖐
      Перейди на beta:
      Win 10 Tweaker ➜ О программе ➜ Перейти на beta 👍

  • @evgenyif5287
    @evgenyif5287 2 ปีที่แล้ว +1

    Не ожидал, что вы ответите, а этот вариант я уже применил, спасибо вам!
    теперь выскакивает ошибка {"Cannot access a disposed object.
    Object name: 'Form1'."}. Но это уже другая история)

  • @uknownperson7112
    @uknownperson7112 3 ปีที่แล้ว +1

    Интересная тема. Спасибо

  • @kastyel1990
    @kastyel1990 2 ปีที่แล้ว +1

    Здравствуй Хачатур. А подскажи такую штуку. Я все еще пишу бота и возник вопрос по теме. Для сохранения настроек пользователя, пишу их в файл в потоке с некой задержкой. Можно ли в этой задаче проверять наличие основного процесса программы, для завершения фонового процесса обновления файла? Я это делал, ибо пока не придумал хорошего решения по отлову закрытия моего консольного приложения.

    • @XpucT
      @XpucT  2 ปีที่แล้ว

      Привет 🖐
      Я лично так и делаю с ботом. Тушу его и продолжаю работу, т.к. консоль не закрывается, всё работает дальше, как часы, как будто ничего не было.

  • @gesriot
    @gesriot 3 ปีที่แล้ว +2

    While true.. а true у нас всегда - больше всего угараю с таких мини-замечаний. Юмор решает, когда выбираешь по чьим урокам учиться
    Хачатур, скажи, пожалуйста, что думаешь про Rust (для тех, кому пожестче)

    • @XpucT
      @XpucT  3 ปีที่แล้ว +1

      Вообще не знакомился с Rust, но слышать стал часто.

    • @phat80
      @phat80 3 ปีที่แล้ว

      Rust - идеален для каких-то системных утилит без UI или для каких-то web сервисов. То есть специфика не совсем та. Делать на нем какое-то приложение с интерфейсом такое себе. Там есть какая-то связка с GTK, конечно. Но все это пока не очень готово для создания каких-то приложений заточенных под UI. Хороших родных библиотек пока нет вообще вроде. То есть это вообще отдельная история и с тем же C# никак не коррелирует. Ну только если в плане написания бэкенда и микросервисов. Про Rust уместно задавать вопросы тем, кто пишет на C или C++. Они, если не хотят отстать от жизни, должны уже так или иначе присматриваться к Rust’у.

    • @gesriot
      @gesriot 3 ปีที่แล้ว

      @@phat80 Ну, я как бы ничего не говорил про специфику или корреляции с C#. Ну, раз на то пошло, выскажу и свое ИМХО)
      Пройдет еще год-два и он будет просто идеален.
      Новые GUIшные либы появляются чуть ли не каждый месяц. Большинство из них сырые. Но есть вполне сносные, например, Druid. Если нужно еще красивее, то лучший варик на данный момент - привязки к FLTK th-cam.com/video/dcI4J_bj8qc/w-d-xo.html. Конечно, до WPF пока далеко. Да и походу это что-то типа мирового тренда.. десктопных приложух пишут все меньше и меньше.. и на это место, к сожалению, приходит Electron.
      Те, кто давно пишет на C/C++ чаще всего ненавидят Rust (он же "убийца"). Мне кажется, дольше всего плюсы продержатся в геймдеве.
      О каком-то противостоянии C# vs Rust говорить не приходится. Понятно, что Rust'а не будет много хотя бы из-за высокого порога входа. У C# главные соперники - Python и Go. Python станет как англ. язык для всех кодеров, ибо лучшего инструмента для прототипирования не сыскать. А с Go придется мириться, как миримся с JS. Поэтому чтобы Go окончательно не захватил мир, надо продвигать .NET всеми возможными способами)) Как насчет F#, например..

    • @phat80
      @phat80 3 ปีที่แล้ว

      @@gesriot Хайп вокруг Electron’а вроде уже давно стих. Какую-то нишу он занял, но я не могу сказать, что большую. Сейчас модно на Flutter’е (Dart) ваять приложения, хотя для десктопа и нет продакшн реди версии. Но лично мне не заходят ни electron, ни flutter.

    • @gesriot
      @gesriot 3 ปีที่แล้ว

      @@phat80 Хайп-то может и стих.. но нас ждет еще одна гидра в лице React Native.
      А Flutter для андроида хорош вроде.
      Быстрее бы микрософт уже унифицировал свой MAUI..

  • @joddergmd1391
    @joddergmd1391 3 ปีที่แล้ว +2

    Посмотрел 2 раза, но всё равно немного не понял. Токен нужен для того чтобы останавливать именно этот await, и чтобы он не оставался в памяти и не крутил ничего не делающие циклы? И ещё, потом мы засунули его в if, как булл переменную, и если у нас есть запрос на остановку то он как бы брейкает весь метод. Но если сделать такой же бул need как и в начале, и засунуть его не в while а в if (как сделали с токеном) то он будет так же работать как и токен? Ну а то что мы засунули st через запятую прямо к Task.Run я вообще не понял как работает... Объясните плз :)

    • @XpucT
      @XpucT  3 ปีที่แล้ว +1

      Всё правильно. Ты вероятно просто ещё не делал столько вызовов сложных, где многим нужно получить токен отмены. Я поэтому и не стал городить, ибо это придёт со временем. Главное, чтобы Ты знал, когда начнёшь работать с https или чем-то ***Asynk, можно тушить всё через токены, а не просто рубить с плеча, грубо прекращая какой-то цикл.
      В большинстве случаев bool достаточно, но важно отметить, что есть и система токенов на отмену операции, если определённый метод это умеет.

    • @joddergmd1391
      @joddergmd1391 3 ปีที่แล้ว +2

      @@XpucT Спасибо за ответ и видео!

    • @7.8.12-s3m
      @7.8.12-s3m 3 ปีที่แล้ว

      @@XpucT спасибо большое тебе друган

  • @cate-g7e
    @cate-g7e 9 หลายเดือนก่อน

    6:05 а можно ссылку на этот канал?

  • @mikhailskylark8417
    @mikhailskylark8417 2 ปีที่แล้ว

    У меня есть new Thread.Start(), и после нажатия на кнопку, надо завершить этот поток. Метод Thread.Abort() не подходит, т.к. я не могу обратиться к нему по имени, я его создавал через new. Вопрос: как остановить поток по нажатию кнопки? Сам пока что накостылял внутри new Thread асинк функцию которая каждую секунду проверяет bool и специально ловит ошибку в try catch коде, чтобы остановить поток (дада, такой бред)

    • @XpucT
      @XpucT  2 ปีที่แล้ว +1

      Если код работает, то это не бред.
      Но лучше всё же переписать всё под чистый Task.

  • @mikhailskylark8417
    @mikhailskylark8417 2 ปีที่แล้ว +1

    Привет! Слушай, а есть ли замена Thread.Abort() на новом дотнете? Начиная с версии дотнет 5 и выше, эту функцию вырезали и не предоставили ничего взамен, интернет уже весь просмотрел, всё что предлагают - проверять какой-нибудь bool на какой-то строчке кода, но это полный отстой по сравнению с предыдущим Thread.Abort(), который сам мог отменить поток на любой строчке кода вне зависимости от типа задачи.
    Единственную замену, которую я нашёл - это Task.Interrupt() и потом естественно Dispose(), но проблема в том, что метод Interrupt работает только тогда, когда таск спит, либо есть делэй, то есть ты пошлёшь таску интеррапт, а он остановится только тогда, когда дойдёт до строчки Thread.Sleep() внутри таска или ей подобной строки, а ведь такой строки вовсе может и не быть, да и хотелось нормального функционала отмены потока / задачи, когда как только пошлёшь ему Thread.Abort(), он сразу же прервётся.

    • @XpucT
      @XpucT  2 ปีที่แล้ว +1

      Привет 🖐
      Давно уже с Thread, потому что сейчас все вопросы решаются Task`ом. Поверь, лучше уже сейчас всё начать переписывать, потому что потом будет тяжелее.

    • @mikhailskylark8417
      @mikhailskylark8417 2 ปีที่แล้ว

      @@XpucT да могу и на таск всё перегнать конечно, но говорю, вот в таске только единственный вариант нашёл - Task.Interrupt(), но он сработает только тогда, когда этот таск дойдёт до строчки Thread.Sleep(), а на всех остальных команда интеррапт не понесёт эффекта.
      Вот интересуюсь, может Вы знаете способ работающей принудительной остановки таска вне зависимости от выполняемой этим таском команды?

    • @XpucT
      @XpucT  2 ปีที่แล้ว +1

      ​@@mikhailskylark8417 Я к тому и говорю, что даже Thread.Sleep() нужно сразу менять на await Task.Delay();
      А чтобы грубо не прерывать, но при это очень хочется, то есть while (bool). И нет, это не костыль. Это нормально.

    • @mikhailskylark8417
      @mikhailskylark8417 2 ปีที่แล้ว +1

      @@XpucT копец)) ну ладно, спасибо за информацию! Я уже столько костылей понаделывал, что диплом медицинского вуза уже должны были дать

    • @XpucT
      @XpucT  2 ปีที่แล้ว +1

      @@mikhailskylark8417

  • @puser-yh9lv7kl1h
    @puser-yh9lv7kl1h 3 ปีที่แล้ว +2

    Хачатур, почему в первом примере у меня ошибка System.InvalidOperationException: "Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'label1' не из того потока, в котором он был создан."
    Код из видео
    async void button1_Click(object sender, EventArgs e)
    {
    await Task.Run(async () =>
    {
    while (true)
    {
    label1.Text += "1";
    await Task.Delay(1000);
    }
    });
    }

    • @puser-yh9lv7kl1h
      @puser-yh9lv7kl1h 3 ปีที่แล้ว

      Почему твой код выполняется, а мой нет?

    • @puser-yh9lv7kl1h
      @puser-yh9lv7kl1h 3 ปีที่แล้ว

      т.е. у тебя выполняется а у меня нет

    • @serpotapov
      @serpotapov 3 ปีที่แล้ว +2

      Привет, Юра 🖐
      Это всё потому что Ты сидишь в Debug.
      Подробнее об этой ошибке Хачатур рассказывал в уроке про Потоки.
      vk.cc/akdhHs

    • @johnrollan2256
      @johnrollan2256 3 ปีที่แล้ว

      @@serpotapov у меня такая же ошибка, рилиз мод решает. Но из видео(th-cam.com/video/r5Qd-EI-pjU/w-d-xo.html) я не понял причину именно зачем не работал в дебаг моде? можете обяснить?

    • @userwholovesmeowing
      @userwholovesmeowing 3 ปีที่แล้ว

      @@puser-yh9lv7kl1h наконец то нашел ответ, Визуал студио ищет ошибку между тредами, когда включего дебаг мод, нам надо отключить эту поиск ошибок между тредами - Control.CheckForIllegalCrossThreadCalls = false;

  • @stivendiplet8083
    @stivendiplet8083 3 ปีที่แล้ว +1

    лайк.

  • @UFO26
    @UFO26 ปีที่แล้ว

    Это колдовство вне Хогвартса. Я такое не запомню)

    • @XpucT
      @XpucT  ปีที่แล้ว

      Депримо! 🪄

  • @duoangels8706
    @duoangels8706 3 ปีที่แล้ว +2

    👋👍

  • @ВладимирРолдугин-й2й
    @ВладимирРолдугин-й2й 3 ปีที่แล้ว

    Слушай всегда пишу после твоих видео сам код для запоминания, и мне выдает ошибку : System.InvalidOperationException: "Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'label1' не из того потока, в котором он был создан."

    • @XpucT
      @XpucT  3 ปีที่แล้ว

      Пропускаешь уроки:
      th-cam.com/video/vHqHrf914TA/w-d-xo.html

  • @3x__
    @3x__ 3 ปีที่แล้ว +1

    потому что👍)))

  • @ivannarykin
    @ivannarykin ปีที่แล้ว +1

    Спасибо! Не обращай внимания на "умников", для нормальных людей с ними всё понятно...

  • @Glavniyfilm
    @Glavniyfilm ปีที่แล้ว

    а если нужно повторно запустить по клику поток ?

    • @XpucT
      @XpucT  ปีที่แล้ว

      if (нужно повторно...)

    • @Glavniyfilm
      @Glavniyfilm ปีที่แล้ว

      @@XpucT ну я серьёзно сегодня целый день ковыряюсь и гугл отвечать не хочет. По одной кнопке запускаю поток по другой останавливают и потом по первой опять но тишина... он умер

  • @Neo_for_my_chanel4782
    @Neo_for_my_chanel4782 4 หลายเดือนก่อน

    Не работает
    Пмшет что попытка доступа из другого потока

  • @vasyanpro4567345
    @vasyanpro4567345 ปีที่แล้ว

    Ппц каждый раз проверять токен, а как не проверять и прервать задачу?

  • @hmixa
    @hmixa ปีที่แล้ว

    Зачем всё-таки двухуровневая архитектура? Source он как бы лишний. Можно было бы создать инстанс токена через оператор new и раздать его всем? Не поделитесь своими догадками, зачем Microsoft так сделали?

  • @AlexanderXarawg
    @AlexanderXarawg 8 หลายเดือนก่อน

    зашёл из инета послушать про отменяющий токен. В итоге больше половины видео про какие-то срачи в комунити.

  • @jelewow962
    @jelewow962 3 ปีที่แล้ว +2

    Очень интересно, но нихуя не понятно