logo

Java İş Parçacığı başlatma () yöntemi

başlangıç() İş parçacığı sınıfının yöntemi, iş parçacığının yürütülmesini başlatmak için kullanılır. Bu yöntemin sonucu aynı anda çalışan iki iş parçacığıdır: geçerli iş parçacığı (çağrıdan start yöntemine dönen) ve diğer iş parçacığı (run yöntemini yürüten).

start() yöntemi, run() yönteminde belirtilen kodu ayrı bir iş parçacığında yürütmek için Runnable arayüzünün run() yöntemini dahili olarak çağırır.

Başlangıç ​​iş parçacığı aşağıdaki görevleri gerçekleştirir:

  • Yeni bir konunun istatistiklerini veriyor
  • İş parçacığı Yeni Durum'dan Çalıştırılabilir duruma geçer.
  • İş parçacığı yürütme şansı yakaladığında, hedef run() yöntemi çalışacaktır.

Sözdizimi

 public void start() 

Geri dönüş değeri

 It does not return any value. 

İstisna

YasadışıThreadStateException - Bu istisna, start() yönteminin birden fazla kez çağrılması durumunda ortaya çıkar.

Örnek 1: İş parçacığı sınıfını genişleterek

 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(); } } 
Şimdi Test Edin

Çıktı:

 Thread is running... 

Örnek 2: Çalıştırılabilir Arayüz Uygulayarak

 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(); } } 
Şimdi Test Edin

Çıktı:

 Thread is running... 

Örnek 3: start() yöntemini birden fazla kez çağırdığınızda

 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(); } } 
Şimdi Test Edin

Çıktı:

 First thread running... Exception in thread 'main' java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:708) at StartExp3.main(StartExp3.java:12)