Вход в статистику
Логин:
Пароль:
Забыли пароль?
www.realnetspb.ru



Подключиться

409-00-09
info@realnetspb.ru support@realnetspb.ru
служба технической поддержки
Обратная связь





Высокоскоростной Интернет для дома и офиса ● Цифровое IPTV ● Бесплатное подключение ● Бонусы и акции
Круглосуточная техническая поддержка ● Компьютерная помощь на дому ● Беспроводной доступ Wi-Fi
Личный кабинет

Продажа картриджей Москва

21.07.2016

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

Thread t new SimpleThread();

t.start(); // Начало выполнения потока

t.interrupt(); // Требование прерывания выполнения потока. Возможно вас заинтересует продажа картриджей москва.

Механизм прерываний потоков реализован на основе партнёрства: поток делает себя доступным для прерывания, а другие потоки посылают запросы на прерывание. Требование прерывания не оказывает прямого воздействия на выполнение потока - в потоке, получившем это требование, просто устанавливается внутренний флаг с соответствующим значением (помечен как прерванный). Прерванный поток должен сам проверить значение этого флага, чтобы определить состояние прерывания и обеспечить безопасное завершение выполнения. В потоке обязательно должны быть предусмотрены и реализованы точки отмены (cancellation), чтобы позволить другим потокам прерывать его и переводить в состояние завершения:

public class SimpleThread extends Thread 1 @0verride

public void run() {

while( islnterrupted() == false ) {

// Поток продолжает выполнение

// Задача завершается, и поток тоже завершает выполнение








 
© 2001-2014 ООО Реалнет-СПб
Услуги: бесплатное подключение к Интернет, цифровое IPTV, каналы в HD-качестве, ПО по подписке: антивирусы и родительский контроль,
служба технической поддержки и компьютерной помощи, настройка Wi-Fi - роутера, подключение Wi-Fi.