อนุญาตให้ใช้การสืบทอดเพียงครั้งเดียวใน Java แต่อนุญาตให้ใช้หลายอินเทอร์เฟซได้ ดังนั้นวิธีที่สองจึงมีความยืดหยุ่นมากกว่า
คัดลอกรหัสรหัส ดังต่อไปนี้:
-
* รันเธรดที่สืบทอดมาจากคำจำกัดความคลาส java.lang.Thread
-
โมฆะสาธารณะ startOne () {
//สร้างตัวอย่าง
OneThread oneThread = OneThread ใหม่ ();
//เริ่มเธรด ThreadA
oneThread.startThreadA();
พยายาม {
// ตั้งค่าเธรดให้เข้าสู่โหมดสลีปเป็นเวลา 1 วินาที
เธรด.สลีป(1,000);
} จับ (InterruptedException e) {
e.printStackTrace();
-
// หยุดเธรด ทำไมไม่ลองใช้เมธอด stop() ที่นี่ เพราะเมธอดนี้ถูกยกเลิกไปแล้ว แต่สามารถนำมาใช้ในการชะงักงันได้
oneThread.stopThreadA();
-
คัดลอกรหัสรหัส ดังต่อไปนี้:
-
* รันเธรดที่ใช้ข้อกำหนดอินเทอร์เฟซ Runnable
-
โมฆะสาธารณะ startTwo () {
//สร้างตัวอย่าง
Runnable runnable = ใหม่ TwoThread();
//ใส่อินสแตนซ์เข้าไปในเธรด
เธรด threadB = เธรดใหม่ (รันได้);
//เริ่มกระทู้
เธรดB.start();
-
คัดลอกรหัสรหัส ดังต่อไปนี้:
//สืบทอดคลาส Thread เพื่อกำหนดเธรด
คลาส OneThread ขยายเธรด {
การรันบูลีนส่วนตัว = false;
โมฆะสาธารณะเริ่มต้น () {
this.running = จริง;
ซุปเปอร์สตาร์ท();
-
โมฆะสาธารณะวิ่ง () {
int i = 0;
พยายาม {
ในขณะที่ (ทำงาน) {
System.out.println("สืบทอดคลาส Thread เพื่อกำหนดเนื้อหาของโปรแกรมเธรด..." + i++);
เธรด.สลีป(200);
-
} จับ (InterruptedException e) {
e.printStackTrace();
-
-
โมฆะสาธารณะ startThreadA() {
System.out.println("เริ่มเธรดที่กำหนดโดยการสืบทอดคลาสเธรด");
นี้.เริ่มต้น();
-
โมฆะสาธารณะ stopThreadA() {
System.out.println("ปิดเธรดที่กำหนดโดยคลาสเธรดที่สืบทอดมา");
this.running = เท็จ;
-
-
คัดลอกรหัสรหัส ดังต่อไปนี้:
// ใช้อินเทอร์เฟซ Runnable เพื่อกำหนดเธรด
คลาส TwoThread ใช้งาน Runnable {
วันที่ส่วนตัว runDate;
โมฆะสาธารณะวิ่ง () {
System.out.println("ใช้อินเทอร์เฟซ Runnable เพื่อกำหนดเนื้อหาของโปรแกรมเธรด...");
this.runDate = วันที่ใหม่ ();
System.out.println("เวลาเริ่มต้นเธรด..." + runDate);
-
คัดลอกรหัสรหัส ดังต่อไปนี้:
โมฆะคงที่สาธารณะ main (String [] args) {
//สร้างอินสแตนซ์ของวัตถุ
ThreadStartAndStop threadStartAndStop = ThreadStartAndStop ใหม่ ();
threadStartAndStop.startOne();
เธรดStartAndStop.startTwo();
-
เริ่มการสืบทอดเธรดการกำหนดคลาสของเธรดสืบทอด เนื้อหาของโปรแกรมเธรดการกำหนดคลาสของเธรด... 0
สืบทอดคลาส Thread เพื่อกำหนดเนื้อหาของโปรแกรมเธรด...1
สืบทอดคลาส Thread เพื่อกำหนดเนื้อหาของโปรแกรมเธรด...2
สืบทอดคลาส Thread เพื่อกำหนดเนื้อหาของโปรแกรมเธรด...3
สืบทอดคลาส Thread เพื่อกำหนดเนื้อหาของโปรแกรมเธรด...4
ปิดคลาส Thread ที่สืบทอดมา กำหนด thread ใช้อินเทอร์เฟซ Runnable และกำหนดเนื้อหาของโปรแกรม thread...
เวลาเริ่มกระทู้...วันศุกร์ที่ 15 มีนาคม เวลา 12:56:57 น. CST 2013