Advertisement
jaVer404

level16.lesson13.home03

Sep 13th, 2015
449
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.12 KB | None | 0 0
  1. package com.javarush.test.level16.lesson13.home03;
  2.  
  3. /* Рекурсивное создание нитей
  4. 1. Измени класс GenerateThread так, чтобы он стал нитью.
  5. 2. Создай конструктор GenerateThread, который должен:
  6. 2.1. Вызвать конструктор суперкласса с параметром String - номером созданной нити. Используй countCreatedThreads.
  7. 2.2. Запустить текущую нить.
  8. 2.3. Номер первой нити должен начинается с 1.
  9. 3. Переопредели метод toString, для этого внутри GenerateThread нажми Alt+Insert -> Override Methods. Начни печатать toString.
  10. 3.1. Метод toString должен возвращать № текущей нити и слово " created". Используй getName(). Пример: [8 created]
  11.  
  12. 4. Пока количество созданных нитей меньше Solution.count метод run должен:
  13.     4.1. создать новую нить типа GenerateThread.
  14.     4.2. Вывести в консоль созданную в пункте 4.1. нить.
  15. 5. В итоге должно быть выведено в консоль 15 строк.
  16. */
  17.  
  18. public class Solution {
  19.     static int count = 15;
  20.     static volatile int countCreatedThreads;
  21.  
  22.     public static void main(String[] args) {
  23.  
  24.         System.out.println(new GenerateThread());
  25.     }
  26.  
  27.     public static class GenerateThread extends Thread {
  28.  
  29.         @Override
  30.         public void run()
  31.         {
  32.             while (countCreatedThreads < Solution.count) {
  33.                 //countCreatedThreads++;
  34.                 GenerateThread generateThread = new GenerateThread();
  35.                 System.out.println(generateThread);
  36.             }
  37.         }
  38.  
  39.         @Override
  40.         public String toString()
  41.         {
  42.             return getName() + "  created";
  43.         }
  44.  
  45.         public GenerateThread()
  46.         {
  47.             super(String.valueOf(++countCreatedThreads));
  48.             start();
  49.         }
  50.  
  51.  
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement