getName() в новом потоке возвращает 'main'

Я инициализирую и запускаю новый поток в onCreate() в MainActivity

@Override
protected void onCreate(Bundle savedInstanceState) {

// ... code

// New thread
new Thread(){
        @Override
        public void run(){

            // Output is 'TAG: main'
            Log.v("TAG",Thread.currentThread().getName());
        }
    }.run();
}

Почему вывод этой строки TAG: main?

// Output is 'TAG: main'
Log.v("TAG",Thread.currentThread().getName());

Разве эта тема не должна быть новой?

Если я вставлю в поток бесконечный цикл while, мое приложение заблокируется, указывая, что этот новый поток действительно является основным потоком.

@Override
protected void onCreate(Bundle savedInstanceState) {

// ... code

// New thread
new Thread(){
        @Override
        public void run(){

            // Output is 'TAG: main'
            Log.v("TAG",Thread.currentThread().getName());

            // Locks up the main thread apparently
            while(true) {}
        }
    }.run();
}

Я просто не понимаю. Я не создаю новую тему и почему?


person the_prole    schedule 23.06.2017    source источник
comment
Используйте start(), а не run().   -  person Mike M.    schedule 23.06.2017
comment
@МайкМ. ОМГ СПАСИБО. Поставлю галочку, если ответите.   -  person the_prole    schedule 24.06.2017
comment
О, я просто закрыл его как дубликат, на самом деле. Спасибо хоть. :-) Рад, что у вас все получилось. Ваше здоровье!   -  person Mike M.    schedule 24.06.2017