Содержание
- 2. Процессы и потоки Процесс — это экземпляр программы, который запускается независимо от остальных, у него есть
- 3. Классы для работы с потоками Класс Thread предназначен для создания нового потока. Он определяет следующие основные
- 4. Методы управления потоками static Thread.currentThread() - получить текущий поток выполнения getName() - получить имя потока getPriority()
- 5. Состояние потока TIMED_WAITING RUNNABLE TERMINATED WAITING NEW BLOCKED new start join, wait lock stop, interrupt, Завершение
- 6. Создание потоков Java Запустить новый поток можно двумя способами: 1. Создать потомка класса Thread и переопределить
- 7. Определение состояния потоков class MyRun implements Runnable { Thread t,t1; private int sec; MyRun(int sec) {
- 8. Модификатор Volatile Применяется в многопоточных приложениях Используется только с переменными Может использоваться со static переменными Нет
- 9. Использование Volatile public class InfiniteLoop implements Runnable { private boolean flag = true; // private volatile
- 10. Пример создания потока путем расширения класса Thread Incremenator — поток, который каждую секунду прибавляет или вычитает
- 11. Продолжение примера public class Program { //Переменая, которой оперирует инкременатор public static int mValue = 0;
- 12. Завершение работы потоков Завершить работу потока можно следующими тремя способами: Поток завершиться, когда закончит выполнение метода
- 13. Прерывание потока Класс Thread содержит в себе скрытое булево поле, которое называется флагом прерывания. Установить этот
- 14. Пример прерывания потока class Incremenator extends Thread { private volatile boolean mIsIncrement = true; public void
- 15. Продолжение примера class Program { //Переменая, которой оперирует инкременатор public static int mValue = 0; static
- 16. Диспетчеризация потоков Планировщик определяет, какой поток должен запуститься, основываясь на номер приоритета, назначенный каждому потоку. Приоритет
- 18. Скачать презентацию