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
   229   230   231   232   233   234   235   236   237   238   239