Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่างเธรดและ Runnable ใน Java


มีสองวิธีในการสร้างเธรดการดำเนินการใหม่ หนึ่งคือการประกาศคลาสเป็นคลาสย่อยของคลาสเธรด คลาสย่อยนี้ควรแทนที่วิธีการรันของคลาสเธรด จากนั้นจะสามารถจัดสรรและเริ่มต้นอินสแตนซ์ของคลาสย่อยได้

อีกวิธีหนึ่งในการสร้างเธรดคือการประกาศคลาสที่ใช้อินเทอร์เฟซ Runnable คลาสนั้นใช้เมธอดรัน อินสแตนซ์ของคลาสสามารถจัดสรร ส่งผ่านเป็นอาร์กิวเมนต์เมื่อสร้างเธรด และเริ่มต้นได้

ทุกเธรดมีชื่อเพื่อวัตถุประสงค์ในการระบุตัวตน มากกว่าหนึ่งเธรดอาจมีชื่อเหมือนกัน หากไม่มีการระบุชื่อเมื่อสร้างเธรด ชื่อใหม่จะถูกสร้างขึ้น

ซีเนียร์ เลขที่ คีย์ กระทู้ รันได้
1
พื้นฐาน
เธรดเป็นคลาส ใช้สำหรับสร้างเธรด
Runnable เป็นอินเทอร์เฟซที่ใช้งานได้ซึ่งใช้ในการสร้างเธรด
2
วิธีการ
มีหลายวิธีรวมทั้ง start() และ run()
มีเฉพาะวิธีการรัน ()
3
แต่ละเธรดสร้างอ็อบเจ็กต์ที่ไม่ซ้ำกันและเชื่อมโยงกับมัน
หลายเธรดใช้วัตถุเดียวกันร่วมกัน
4
หน่วยความจำ
ต้องการหน่วยความจำเพิ่มเติม
ต้องใช้หน่วยความจำน้อยลง
5
ข้อจำกัด
ไม่อนุญาตให้ใช้การสืบทอดหลายรายการใน java ดังนั้นหลังจากที่คลาสขยายคลาสของเธรด ก็ไม่สามารถขยายคลาสอื่นได้
หากคลาสกำลังใช้งานอินเทอร์เฟซที่รันได้ คลาสของคุณสามารถขยายคลาสอื่นได้

ตัวอย่างของ Runnable

class RunnableExample implements Runnable{
   public void run(){
      System.out.println("Thread is running for Runnable Implementation");
   }
   public static void main(String args[]){
      RunnableExample runnable=new RunnableExample();
      Thread t1 =new Thread(runnable);
      t1.start();
   }
}

ตัวอย่างกระทู้

class ThreadExample extends Thread{
   public void run(){
      System.out.println("Thread is running");
   }
   public static void main(String args[]){
      ThreadExample t1=new ThreadExample ();
      t1.start();
   }
}