JAVA (многопоточность)

1.1 Разница между процессом и потоком
Процесс — это основная единица распределения ресурсов операционной системы, а поток — это основная единица планирования ЦП.
После запуска программы есть процесс.
Процесс может содержать несколько потоков, но необходим хотя бы один поток, иначе этот поток не имеет смысла.
Адрес сегмента данных не может быть разделен между процессами, но может быть разделен между потоками одного и того же процесса.
1.2 Состав потоков
Любой поток имеет основные компоненты:
Квант процессорного времени: Операционная система выделяет время выполнения для каждого потока.
Текущие данные:
Пространство кучи: Храните объекты, которые должны использовать потоки, и несколько потоков могут совместно использовать объекты в куче.
Пространство стека: храните локальные переменные, которые должны использовать потоки, и каждый поток имеет независимый стек.
Код логики потока
1.3 Функции потока
Выполнение потока с вытеснением.
эффективный.
Это может помешать одному потоку монополизировать ЦП в течение длительного времени.
В одноядерном ЦП выполнение выполняется одновременно на макроуровне и последовательно на микроуровне.
1.4 Создание потока
Есть три способа создать поток:
наследовать класс Thread и переписать метод запуска.
Реализуйте интерфейс Runnable.
Реализуйте вызываемый интерфейс.
 

Acho que você gosta

Origin blog.csdn.net/weixin_54255580/article/details/122071517
Recomendado
Clasificación