The начало() метод на клас нишка се използва за започване на изпълнението на нишка. Резултатът от този метод са две нишки, които се изпълняват едновременно: текущата нишка (която се връща от извикването към началния метод) и другата нишка (която изпълнява своя метод за изпълнение).
Методът start() вътрешно извиква метода run() на интерфейса Runnable, за да изпълни кода, указан в метода run() в отделна нишка.
Началната нишка изпълнява следните задачи:
- Това показва нова тема
- Нишката се премества от ново състояние в състояние Runnable.
- Когато нишката получи шанс да се изпълни, нейният целеви метод run() ще се изпълни.
Синтаксис
public void start()
Върната стойност
It does not return any value.
Изключение
IllegalThreadStateException - Това изключение се хвърля, ако методът start() се извика повече от един път.
Пример 1: Чрез разширяване на клас нишка
public class StartExp1 extends Thread { public void run() { System.out.println('Thread is running...'); } public static void main(String args[]) { StartExp1 t1=new StartExp1(); // this will call run() method t1.start(); } }Тествайте сега
Изход:
Thread is running...
Пример 2: Чрез внедряване на Runnable Interface
public class StartExp2 implements Runnable { public void run() { System.out.println('Thread is running...'); } public static void main(String args[]) { StartExp2 m1=new StartExp2 (); Thread t1 =new Thread(m1); // this will call run() method t1.start(); } }Тествайте сега
Изход:
Thread is running...
Пример 3: Когато извикате метода start() повече от веднъж
public class StartExp3 extends Thread { public void run() { System.out.println('First thread running...'); } public static void main(String args[]) { StartExp3 t1=new StartExp3(); t1.start(); // It will through an exception because you are calling start() method more than one time t1.start(); } }Тествайте сега
Изход:
First thread running... Exception in thread 'main' java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:708) at StartExp3.main(StartExp3.java:12)