Π£ мСня вопрос ΠΊ Π·Π½Π°Ρ‚ΠΎΠΊΠ°ΠΌ: ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ такая ситуация, Ρ‡Ρ‚ΠΎ послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условия if(createdThreadCount < Solution.count) ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² остановит Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°? Π’ΠΎ Π΅ΡΡ‚ΡŒ условиС пройдСтся лишний Ρ€Π°Π· ΠΈ получится лишний 16ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ? И Π²ΠΎΠΎΠ±Ρ‰Π΅ насколько это ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ условия ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ (ΠΏΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ строки)Π±Π΅Π· synchronized Π² случаС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ использования ΠΈ измСнСния статичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ сути ΠΎΠ΄Π½ΠΈ Π½Π° класс)?
public class Solution {
    static int count = 15;
    static  volatile int createdThreadCount;

    public  static void main(String[] args) {
        System.out.println(new GenerateThread());
    }

    public static class GenerateThread extends Thread {

        public  GenerateThread(){
            super(String.valueOf(++createdThreadCount));
            start();
        }
        @Override
        public  void run() {

                if (createdThreadCount < Solution.count) {
                    System.out.println(new GenerateThread());
                }

        }
        @Override
        public String toString() {
            return (getName()+" created");
        }
    }
}