Многопоточные детали
Сходства и различия между методом сна и методом ожидания?
Сходство:
Оставьте нить в замороженном состоянии.
Различия:
Сон должен указать время
подождите, может указать время или нет
Время сна истекает, нить находится во временном состоянии блокировки или в состоянии бега
Если подождите, нет времени, его нужно разбудить через уведомление или уведомление
Сон не должен быть определен в синхронизации
подождите, должно быть определена в синхронизации
Когда все определены в синхронизации
Сон выпускает права на выполнение, а не замки
Подождите, чтобы выпустить права на выполнение, заблокировать
Syschronized (obj) {wait (); // 0 1 2 код ...} syschronized (obj) {notifyall (); // 3 код ...}Как остановить ветку
Метод остановки
Метод остановки устарел. Я обнаружил, что есть другие решения после прочтения описания.
Конец потока: пусть будет выполнен код задачи потока, а метод запуска заканчивается
Как закончить метод запуска?
Определяя петлю
Примечание: может ли он все еще судить о знаке, если поток находится в замороженном состоянии в задаче?
Так называемое состояние прерывания не означает остановку потока.
Состояние прерывания прерывания вызывает, если целевой поток ожидает долгое время, метод прерывания следует использовать для прерывания ожидания так называемого прерывания, не останавливает поток.
Функция прерывания состоит в том, чтобы очистить состояние замораживания потока и восстановить рабочее состояние в потоке (пусть поток повторно квалифицируется для выполнения ЦП).
Поскольку это обязательно, будет прерывание исключения, и вы можете поймать исключения в уловке.
В обработке исключений измените отметку, чтобы закончить петлю и оставить метод запуска.
Демон Тема
Тейд демонов: его также можно понять как фоновый нить, а резьбы переднего плана, созданные перед нитью переднего плана.
До тех пор, пока поток вызывает SetDaemon (True); Поток может быть помечен как потока демона.
Передние фоновые потоки одинаковы при запуске, получая права на выполнение ЦП.
Только когда это заканчивается, немного отличается.
Нижняя резьба должна заканчиваться через метод прогона, а поток должен заканчиваться.
Фоновый поток также может заканчиваться методом выполнения, а поток заканчивается. Есть другая ситуация.
Когда все потоки переднего плана в конце процесса, независимо от того, в каком состоянии находится фоновый поток, он закончится, и процесс закончится.
Процесс заканчивается тем, от чего зависят нити переднего плана.
Приоритет потока
Приоритет потока: идентифицировано числами, 1-10
Среди них начальный приоритет по умолчанию составляет 5, а наиболее очевидные три приоритетных уровня - 1, 5 и 10.
setPriority (thread.max_priority);
Группа ниток
Группа потоков: Threadgroup: группа потоков, к которой принадлежит новый объект потока, может быть идентифицирована через конструктор потока.
Преимущества групп потоков заключаются в том, что они могут выполнять унифицированные операции на нескольких потоках в одной и той же группе.
По умолчанию все они принадлежат к основной группе потоков.
Анонимный внутренний класс
Runnable rn = new Runnable () {public void run () {}}; // Приведенный выше код эквивалентен аномимузным реализациям {public void run () {}} Runnable rn = new AnomyMous ();Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!