//"In that day you will ask me no questions. Most certainly I tell you, whatever you may ask of the Father in my name, he will give it to you. (John 16:23) package com.javarush.task.task16.task1623; /* РекÑÑÑивное Ñоздание ниÑей */ public class Solution { static int count = 15; static volatile int countCreatedThreads; public static void main(String[] args) { System.out.println(new GenerateThread()); } public static class GenerateThread extends Thread { public GenerateThread() { super(String.valueOf(++countCreatedThreads)); start(); } @Override public void run() { if (countCreatedThreads < count) {System.out.println(new GenerateThread());} } @Override public String toString() {return getName() + " created";} } } /* РекÑÑÑивное Ñоздание ниÑей 1. Ðзмени клаÑÑ GenerateThread Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð½ ÑÑал ниÑÑÑ. 2. Создай конÑÑÑÑкÑÐ¾Ñ GenerateThread, коÑоÑÑй должен: 2.1. ÐÑзваÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¾Ñ ÑÑпеÑклаÑÑа Ñ Ð¿Ð°ÑамеÑÑом String â номеÑом Ñозданной ниÑи. ÐÑполÑзÑй countCreatedThreads. 2.2. ÐапÑÑÑиÑÑ ÑекÑÑÑÑ Ð½Ð¸ÑÑ. 2.3. ÐÐ¾Ð¼ÐµÑ Ð¿ÐµÑвой ниÑи должен наÑинаеÑÑÑ Ñ 1. 3. ÐеÑеопÑедели меÑод toString, Ð´Ð»Ñ ÑÑого внÑÑÑи GenerateThread нажми Alt+Insert -> Override Methods. ÐаÑни пеÑаÑаÑÑ toString. 3.1. ÐеÑод toString должен возвÑаÑаÑÑ â ÑекÑÑей ниÑи и Ñлово « created«. ÐÑполÑзÑй getName(). ÐÑимеÑ: «8 created» 4. Ðока колиÑеÑÑво ÑозданнÑÑ Ð½Ð¸Ñей менÑÑе Solution.count меÑод run должен: 4.1. СоздаваÑÑ Ð½Ð¾Ð²ÑÑ Ð½Ð¸ÑÑ Ñипа GenerateThread. 4.2. ÐÑводиÑÑ Ð² конÑÐ¾Ð»Ñ ÑозданнÑÑ Ð² пÑнкÑе 4.1. ниÑÑ. 5. РиÑоге должно бÑÑÑ Ð²Ñведено в конÑÐ¾Ð»Ñ 15 ÑÑÑок. ТÑебованиÑ: 1.âÐлаÑÑ GenerateThread должен бÑÑÑ ÑнаÑледован Ð¾Ñ Thread. 2.âРклаÑÑе GenerateThread должен бÑÑÑ Ð¾ÑкÑÑÑÑй конÑÑÑÑкÑÐ¾Ñ Ð±ÐµÐ· паÑамеÑÑов. 3.âÐонÑÑÑÑкÑÐ¾Ñ ÐºÐ»Ð°ÑÑа GenerateThread должен ÑвелиÑиваÑÑ Ð·Ð½Ð°Ñение countCreatedThreads и пеÑедаваÑÑ ÐµÐ³Ð¾ в виде ÑÑÑоки в конÑÑÑÑкÑÐ¾Ñ ÑÑпеÑклаÑÑа. 4.âÐонÑÑÑÑкÑÐ¾Ñ ÐºÐ»Ð°ÑÑа GenerateThread должен запÑÑкаÑÑ Ð½Ð¸ÑÑ. 5.âÐеÑод toString клаÑÑа GenerateThread должен возвÑаÑаÑÑ Ð¸Ð¼Ñ Ð½Ð¸Ñи и Ñлово " created". ÐÑимеÑ: "8 created". 6.âÐÑли колиÑеÑÑво ÑозданнÑÑ Ð½Ð¸Ñей менÑÑе Solution.count, меÑод run должен ÑоздаÑÑ Ð½Ð¾Ð²ÑÑ Ð½Ð¸ÑÑ Ñипа GenerateThread. 7.âÐÑли колиÑеÑÑво ÑозданнÑÑ Ð½Ð¸Ñей менÑÑе Solution.count, меÑод run должен вÑвеÑÑи ÑозданнÑÑ Ð½Ð¸ÑÑ Ð² конÑолÑ. 8.âÐÑвод пÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑооÑвеÑÑÑвоваÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ, показÑваÑÑ, ÑÑо вÑе 15 ниÑей бÑли ÑозданÑ. package com.javarush.task.task16.task1623; * РекÑÑÑивное Ñоздание ниÑей * public class Solution { static int count = 15; static volatile int countCreatedThreads; public static void main(String[] args) { System.out.println(new GenerateThread()); } public static class GenerateThread { } } */