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