Page 234 - 6571
P. 234
Також є можливим створити новий потік при цьому не ство-
рюючи клас, що наслідує від класу Thread або реалізує інтер-
фейс Runnable. Для цого використовується підхід на основі
анонімних класів.
Thread myThread3 = new Thread(new Runnable() {
public void run() {
// TODO: Код, який має бути виконаний
в новому потоці
}
});
Того ж самого ефекту можна добитися використовуючи лям-
бда-вирази, що були додані у версію мови Java 8, оскільки інтер-
фейс Runnable є функціональним інтерфейсом.
Thread myThread4 = new Thread(() -> {
// TODO: Код, який має бути виконаний
в новому потоці
});
}
Такий підхід досить часто практикується у випадку, коли
клас нового потоку перевизначає тільки метод run() і не додає
своїх власних методів для роботи із потоками.
1.2 Порядок виконання роботи
1. Ознайомитися із теоретичними відомостями до лаборатор-
ної роботи.
2. Створити чотири потоки використовуючи підходи, що опи-
сані у теоретичних відомостях.
3. Помістити перші два потоки у групу з іменем «My Group»
(дати відповідь чому не можна помістити у групу потоки
створені з використанням анонімного класу та лямбда-
виразу).
4. Реалізувати для кожного створеного потоку метод run(),
який має вивести в консоль інформацію про потік (ім’я по-
току, його пріоритет та ім’я групи).
5. Також вивести у консоль інформацію про головний потік
програми (ім’я потоку, його пріоритет та ім’я групи).
6. У звіті до лабораторної роботи представити знімки робочої
програми.
233