Java. Многопоточность. Остановка потока. Обработка InterruptedException.

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • В этом видео продолжаем разбирать тонкости многопоточности в языке программирования Java. Говорим о том, как остановить поток, какую роль в этом играет исключение InterruptedException и как его обрабатывать.
    Исходные коды
    в начале:
    github.com/Arh...
    после переработки:
    github.com/Arh...
    Предыдущее видео:
    • Java. Многопоточность....
    Поддержать канал💰:
    yoomoney.ru/to...
    Группа в Telegram:
    t.me/ArhiTutor...
    #ArhiTutorialsJava #ityoutubersru

Komentáře • 22

  • @John_Smith_Java
    @John_Smith_Java Před rokem +3

    Спасибо, Сергей, в конце меня успокоил😊 Я думал, что я тупой из-за того, что до меня некоторые темы только с третьего раза доходят. Оказывается, это нормально😇

  • @ruslanby-et2qc
    @ruslanby-et2qc Před 3 lety +5

    спасибо за урок и отдельное спасибо за мотивационную речь в конце урока... Буду сюда приходить , пока не наступит просветление.

  • @user-ec2yt2jt9o
    @user-ec2yt2jt9o Před 2 lety

    Супер, хороший разбор. Картинка стала складываться.

  • @user-ec9ks2yu4k
    @user-ec9ks2yu4k Před 2 lety

    Только зо одно слово из всего видео я готов был ставить лайк без колебаний, конечно так-же как и за семантику всего видео. Спасибо 🙂

  • @tomsowyer4956
    @tomsowyer4956 Před 2 lety

    привет из будущего)
    благодаря этому видео остановка потоков стала намного понятнее!
    Очень нравится, что монтируешь и рассказываешь цельно и упорядоченно, выбираешь легкие и простые словесные конструкции

  • @wouchref2501
    @wouchref2501 Před 3 lety +3

    Огромное спасибо за качественный урок и с наступающим Новым годом) Всех благ

  • @deds_deds_deds
    @deds_deds_deds Před 3 lety

    Огромное спасибо! Надеюсь будут выходить новые видео!

  • @Andrzej3935
    @Andrzej3935 Před 3 lety

    Спасибо, учитель!

  • @evgeniermakov1522
    @evgeniermakov1522 Před 3 lety

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

    • @evgeniermakov1522
      @evgeniermakov1522 Před 3 lety

      Да, я подписался, да ты мне помог за 3 минуты.

  • @user-jy9vc4dv2n
    @user-jy9vc4dv2n Před 3 lety

    Снимайте видео про разработку в Android Studio у вас очень хорошо получается . Разные фишки этого приложения , как сделать таймер к примеру или что-то добавить. Успехов вам. Жду новые видео

  • @user-no4xd5tb8g
    @user-no4xd5tb8g Před 3 lety

    Спасибо!

  • @kotikvacia9970
    @kotikvacia9970 Před 3 lety

    Крутяк

  • @wamikgildiev6632
    @wamikgildiev6632 Před rokem +1

    Очень хорошо объяснил. Читаю Java Concurrency in Practice. Вот нихрена там не понятно. Посмотрев это видео, понял некоторые моменты, которые до меня пытался донести Гетц. Но все равно не понимаю где, когда нужно ставить Thread.currentThread().interrupt(). И вообще, почему этот метод не сделан статичным, как например. wait() или sleep()?

  • @djorel5892
    @djorel5892 Před 3 lety

    Спасибо за урок. А будет что нибудь по андройду про многопоточность? А то где то читал что уже мало используют AsyncTask.

    • @arhitutorials
      @arhitutorials  Před 3 lety +2

      Да, в планах у меня такое есть. Сделаю, как руки дойдут.

  • @user-sh6kw1gp3q
    @user-sh6kw1gp3q Před 2 lety

    Скажите пожалуйста, сколько всего здесь потоков создается? Main, worker и анонимный? В методе getTask флаг isInterrupted устанавливается для анонимного потока? Как об этом узнает поток worker?

    • @arhitutorials
      @arhitutorials  Před 2 lety +1

      Если не считать главный, то создается один поток. Флаг устанавливается для текущего потока, то есть для того, кто будет выполнять этот метод. А доставать Runnable из очереди и выполнять его метод run() будет worker.

  • @lenaranalizator6125
    @lenaranalizator6125 Před rokem

    Все равно программа некорректная, если основной поток выходит из ожидания раньше, чем все задачи будут выполнены, он прерывает программу недает выполнится поставленным задачам. Например если Thread.sleep(3000), а tasks 4. Или это нормально в рамках этой программы? Пытаюсь join() применить, пока не получается.

    • @lenaranalizator6125
      @lenaranalizator6125 Před rokem

      while (!queue.tasks.isEmpty())
      {
      try
      {
      Thread.currentThread().sleep(5000);;

      } catch (InterruptedException e)
      {
      System.out.println("lol");
      }

      }
      Добавив такое можно добится выполнения всех команд

  • @caffeinejavacode1475
    @caffeinejavacode1475 Před 3 lety

    будет concurecy?

    • @arhitutorials
      @arhitutorials  Před 3 lety +2

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