2015-01-26 1 views
0

Отказоустойчивый класс резьбы отлично работает. Я могу понять его процесс. Тогда я изменилЧто будет использовать run() вместо start() потока?

mc.srart() в mc.run(), но ничего не изменилось и не было каких-либо ошибок.

Может кто-нибудь, пожалуйста, объясните мне это? можем ли мы всегда использовать run() вместо start()?

public class Main { 

    public static void main(String[] args) { 

     Myclass mc = new Myclass(); 
     mc.start(); 
    } 
} 

class Myclass extends Thread { 
    public void run() { 
     for (int i = 0; i < 10; i++) { 
      System.out.print(i + "--"); 
     } 
    } 
} 
+0

't.start()' - это метод, который библиотека предоставляет для вызова вашего кода, чтобы начать новый поток. 'run()' - это метод, который ваш код предоставляет библиотеке для вызова _in_ нового потока. Метод 'run()' - это метод, определяющий, что будет делать поток. –

ответ

5

Вызов run непосредственно на объекте Thread побеждает точку, имеющий Thread в первую очередь.

Если вы звоните run, то run будет выполнять текущий Thread, как обычный метод. Вы должны позвонить the startmethod на Thread, чтобы выполнить run в другом Thread.

Заставляет эту тему приступать к исполнению; виртуальная машина Java вызывает метод запуска этого потока.

 Смежные вопросы

  • Нет связанных вопросов^_^