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

Поделиться
HTML-код
  • Опубликовано: 4 авг 2024
  • 00:00 Прерываем выполнение задачи
    06:06 Прерываем эталонную желчь
    Донаты ➜ t.me/win10tweaker/171
    Эксклюзив для спонсоров ➜ / xpuct
    Если недоступна спонсорка ➜ boosty.to/xpuct
    #Прервать #Task #CancellationToken #CancellationTokenSource
  • НаукаНаука

Комментарии • 119

  • @m1xaedzy
    @m1xaedzy 3 года назад +12

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

    • @johnrollan2256
      @johnrollan2256 3 года назад

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

    • @KokemomoPaiChan
      @KokemomoPaiChan 3 года назад

      @@johnrollan2256 CancellationTokenSource

    • @kastyel1990
      @kastyel1990 Год назад

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

    • @m1xaedzy
      @m1xaedzy Год назад

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

    • @m1xaedzy
      @m1xaedzy Год назад

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

  • @zohirsattorov2521
    @zohirsattorov2521 3 года назад +7

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

  • @walerij
    @walerij 3 года назад +5

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

  • @denisk7454
    @denisk7454 3 года назад +1

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

  • @user-gg9ip2cn6c
    @user-gg9ip2cn6c 3 года назад +3

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

  • @user-dy3bk3pb2t
    @user-dy3bk3pb2t Год назад +2

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

    • @XpucT
      @XpucT  Год назад

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

  • @davidmazayan7668
    @davidmazayan7668 3 года назад +2

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

  • @BoddenDeni
    @BoddenDeni Год назад +1

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

  • @JenyaHW
    @JenyaHW 3 года назад +4

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

  • @aquarium89
    @aquarium89 3 года назад +6

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

    • @infinitynoir5441
      @infinitynoir5441 3 года назад

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

  • @vadymkon
    @vadymkon Год назад +1

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

  • @yankweh2387
    @yankweh2387 3 года назад +3

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

  • @user-nm9fg1kz1q
    @user-nm9fg1kz1q 3 года назад +1

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

  • @ewgenbi
    @ewgenbi 3 года назад +2

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

  • @Denitka
    @Denitka Год назад +1

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

  • @leonruscraft
    @leonruscraft Год назад +2

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

  • @paxvostrum4824
    @paxvostrum4824 3 года назад +1

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

  • @user-wu-tang
    @user-wu-tang Год назад +1

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

    • @XpucT
      @XpucT  Год назад

      😇
      🙏

  • @Anton-Os
    @Anton-Os 3 года назад +1

    Спасибо!

  • @elena_khizhnyak
    @elena_khizhnyak 3 года назад +1

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

  • @KokemomoPaiChan
    @KokemomoPaiChan 3 года назад +1

    Спасибо)

  • @Sharpei14
    @Sharpei14 2 года назад +1

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

    • @XpucT
      @XpucT  2 года назад +1

    • @Sharpei14
      @Sharpei14 2 года назад +1

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

  • @AndriySylyvonyuk
    @AndriySylyvonyuk 2 года назад +1

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

  • @vladfoton
    @vladfoton 3 года назад +3

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

  • @HeyWhoTheFuckAreYou
    @HeyWhoTheFuckAreYou 3 года назад +2

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

  • @unique4883
    @unique4883 3 года назад +2

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

  • @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'."}. Но это уже другая история)

  • @gonpachiro2225
    @gonpachiro2225 Год назад +1

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

  • @kastyel1990
    @kastyel1990 Год назад +1

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

    • @XpucT
      @XpucT  Год назад

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

  • @kastyel1990
    @kastyel1990 Год назад +1

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

    • @XpucT
      @XpucT  Год назад

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

    • @kastyel1990
      @kastyel1990 Год назад +1

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

  • @user-ud4gd9bd7y
    @user-ud4gd9bd7y 6 месяцев назад

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

  • @stivendiplet8083
    @stivendiplet8083 3 года назад +1

    лайк.

  • @uknownperson7112
    @uknownperson7112 3 года назад +1

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

  • @user-ze9nq3sv6d
    @user-ze9nq3sv6d 3 года назад +2

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

    • @Richard-Gir
      @Richard-Gir 3 года назад

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

    • @user-ze9nq3sv6d
      @user-ze9nq3sv6d 3 года назад

      @@Richard-Gir m.ruclips.net/video/xWGcUbDeBmM/видео.html не стоит вам заниматься английским

    • @Richard-Gir
      @Richard-Gir 3 года назад

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

  • @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 Спасибо за ответ и видео!

    • @user-nm9fg1kz1q
      @user-nm9fg1kz1q 3 года назад

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

  • @aquarium89
    @aquarium89 3 года назад +3

    06:06 😁👍

  • @tavvi4569
    @tavvi4569 3 года назад +3

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

  • @mikhailskylark8417
    @mikhailskylark8417 Год назад

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

    • @XpucT
      @XpucT  Год назад +1

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

  • @duoangels8706
    @duoangels8706 3 года назад +2

    👋👍

  • @mikhailskylark8417
    @mikhailskylark8417 Год назад +1

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

    • @XpucT
      @XpucT  Год назад +1

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

    • @mikhailskylark8417
      @mikhailskylark8417 Год назад

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

    • @XpucT
      @XpucT  Год назад +1

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

    • @mikhailskylark8417
      @mikhailskylark8417 Год назад +1

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

    • @XpucT
      @XpucT  Год назад +1

      @@mikhailskylark8417

  • @damascake
    @damascake 3 года назад +1

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

    • @phat80
      @phat80 3 года назад

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

  • @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 ruclips.net/video/dcI4J_bj8qc/видео.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..

  • @user-jw5rc1ty4p
    @user-jw5rc1ty4p 2 года назад

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

    • @XpucT
      @XpucT  2 года назад

      Пропускаешь уроки:
      ruclips.net/video/vHqHrf914TA/видео.html

  • @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 у меня такая же ошибка, рилиз мод решает. Но из видео(ruclips.net/video/r5Qd-EI-pjU/видео.html) я не понял причину именно зачем не работал в дебаг моде? можете обяснить?

    • @userwholovesmeowing
      @userwholovesmeowing 3 года назад

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

  • @3x__
    @3x__ 3 года назад +1

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

  • @user-nm9fg1kz1q
    @user-nm9fg1kz1q 3 года назад +1

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

  • @Glavniyfilm
    @Glavniyfilm Год назад

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

    • @XpucT
      @XpucT  Год назад

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

    • @Glavniyfilm
      @Glavniyfilm Год назад

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

  • @Neo_for_my_chanel4782
    @Neo_for_my_chanel4782 Месяц назад

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

  • @UFO26
    @UFO26 Год назад

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

    • @XpucT
      @XpucT  Год назад

      Депримо! 🪄

  • @vasyanpro4567345
    @vasyanpro4567345 Год назад

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

  • @hmixa
    @hmixa Год назад

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

  • @ivannarykin
    @ivannarykin 11 месяцев назад +1

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

  • @user-gp2gr4ze1v
    @user-gp2gr4ze1v 5 месяцев назад

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

  • @jelewow962
    @jelewow962 3 года назад +2

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