В консоль выводит согласно всем условиям.
Менял также в методе run() условие с того, что приведено у меня на следующее:
if (createdThreadCount < count) {
System.out.println(this);
new GenerateThread();
} else if (createdThreadCount = count) {
System.out.println(this);
}
по идее тут проверяется, не создано ли уже достаточно тредов и, если так, то не создается новый, а выводится текущий.
Всё равно неправильно. Не могу понять, в чем ошибка.package com.javarush.task.task16.task1623;
/*
Рекурсивное создание нитей
*/
public class Solution {
static int count = 15;
static volatile int createdThreadCount;
public static void main(String[] args) {
new GenerateThread();
}
public static class GenerateThread extends Thread {
public GenerateThread() {
super(String.valueOf(++createdThreadCount));
start();
}
public void run() {
if(createdThreadCount <= count) {
System.out.println(this);
new GenerateThread();
}
}
public String toString() {
return getName() + " created";
}
}
}