Содержание
- 2. Поняття багатопоточності Поточна модель Java Синхронізація Клас Thread и інтерфейс Runnable Головний потік Реалізація інтерфейсу Runnable
- 3. Поняття багатопоточності Java забезпечує вбудовану підтримку для багатопотокового програмування. Багаторівнева програма містить дві і більше частин,
- 4. Існують дві різні форми багатозадачності. Одна заснована на процесах, а інша - на потоках. Процес -
- 5. Багатозадачні потоки вимагають менших накладних витрат у порівнянні з багатозадачними процесами. Процеси - це великовагові завдання,
- 6. поняття багатопоточності Нить дає можливість писати дуже ефективні програми, які максимально використовують CPU, бо час його
- 7. Поточна модель Java Виконавча система Java багато в чому залежить від потоків, і всі бібліотеки класів
- 8. Поточна модель Java Вигода від багатопоточності Java полягає в тому, що усувається механізм "головний цикл /
- 9. Поточна модель Java Потоки існують в декількох станах. Потік може бути в стані виконання. Може перебувати
- 10. Пріоритети потоків Java призначає кожному потоку пріоритет, який визначає порядок обробки цього потоку щодо інших потоків.
- 11. Пріоритети потоків Правила, які визначають, коли перемикання контексту має місце. Потік може добровільно відмовитися від управління.
- 12. синхронізація Оскільки багатопоточність забезпечує асинхронне поведінка ваших програм, повинен існувати спосіб домогтися синхронності, коли в цьому
- 13. Синхронізація Більшість багатопоточних систем створює монітори як об'єкти, які ваша програма повинна явно отримати і використовувати.
- 14. Передача повідомлень Після того як ви розділите свою програму на окремі потоки, потрібно визначити, як вони
- 15. Клас Thread и інтерфейс Runnable Багаторівнева система Java побудована на класі Thread, його методах і пов'язаному
- 16. Клас Thread и інтерфейс Runnable деякі методи класу Thread
- 17. Головний потік Коли Java-програма запускається, один потік починає виконуватися негайно. Він зазвичай називається головним потоком. Головний
- 18. Головний потік Хоча головний потік створюється автоматично після запуску програми, він може управлятися через Thread-об'єкт. Для
- 19. Головний потік // Управління головним потоком., class CurrentThreadDemo { public static void main(String args[]) { Thread
- 20. Головний потік Зверніть увагу на висновки, що використовують t як аргумент printin (). За замовчуванням ім'я
- 21. Головний потік Методи класу Thread, які використовуються в програмі. Метод sleep () змушує потік, з якого
- 22. створення потоку У самому загальному випадку для створення потоку будують об'єкт типу Thread. В Java це
- 23. Реалізація інтерфейсу Runnable В Runnable визначений деякий абстрактний (без тіла) модуль виконуваного коду. Створювати потік можна
- 24. Реалізація інтерфейсу Runnable Після створення класу, який реалізує Runnable, потрібно організувати об'єкт типу Thread всередині цього
- 25. Реалізація інтерфейсу Runnable / / Створення другого потоку, class NewThread implements Runnable {Thread t; NewThread ()
- 26. Розширення Thread Для генерації потоку другим способом необхідно створити новий клас, який розширює Thread, а потім
- 27. Розширення Thread / / Створює другий потік розширенням класу / / Thread, class NewThread extends Thread
- 28. Вибір підходу Який підхід краще? Клас Thread визначає кілька методів, які можуть бути перевизначені похідним класом.
- 29. Створення множинних потоків До сих пір використовували тільки два потоки - головний і один дочірній. Однак
- 30. Використання методів isAlive () і join () Існують два способи визначення, закінчився чи потік. Один з
- 31. Використання методів isAlive () і join () У той час як isAlive () корисний тільки іноді,
- 32. Пріоритети потоків Планувальник потоків використовує їх пріоритети для прийняття рішень про те, коли потрібно вирішувати виконання
- 33. Пріоритети потоків Теоретично, потоки рівного пріоритету повинні отримати рівний доступ до CPU. Для безпеки потоки, які
- 34. Пріоритети потоків Для установки пріоритету потоку використовуйте метод setPriority (), який є членом класу Thread. Ось
- 35. Пріоритети потоків Ви можете отримати поточну установку пріоритету, викликаючи метод getPriority () класу Thread, чий формат
- 36. Синхронізація Коли кілька потоків потребують доступу до ресурсу, їм необхідний деякий спосіб гарантії того, що ресурс
- 37. Синхронізація Тільки один потік може мати власний монітор в заданий момент. Коли потік отримує блокування, кажуть,
- 38. Використання синхронізованих методів Синхронізація в Java проста тому, що кожен об'єкт має свій власний неявний пов'язаний
- 39. Оператор synchronized Хоча визначення синхронізованих методів всередині класів - це прості та ефективні засоби досягнення синхронізації,
- 40. Оператор synchronized Ось загальна форма оператора synchronized: synchronized (object) { / / Оператори для синхронізації }
- 41. Міжпоточні зв'язки Ви можете досягти більш тонкого рівня управління через зв'язок між процесами. Нить замінює програмування
- 42. Міжпоточні зв'язки wait () повідомляє зухвалому потоку, що потрібно поступитися монітор і переходити в режим очікування
- 43. Блокування Спеціальний тип помилки, яку вам потрібно уникати і яка спеціально ставиться до багатозадачності, це -
- 44. Взаємоблокування - важка помилка для налагодження з двох причин: Взагалі кажучи, вона відбувається дуже рідко, коли
- 45. Призупинення, відновлення і зупинка потоків в Java Призупинення виконання потоку іноді корисна. Наприклад, окремі потоки можуть
- 46. Призупинення, відновлення і зупинка потоків в Java До Java 2 для призупинення і перезапуску виконання потоку
- 47. Призупинення, відновлення і зупинка потоків в Java В Java 2 заборонено використовувати методи suspend (), resume
- 49. Скачать презентацию