日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Thread类和Runnable接口

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Thread类和Runnable接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兩者都可以實現多線程,那么兩者的區別和聯系有哪些?

Thread類的定義。

public ?class ?Thread ?extends Object implements ?Runnable

從Thread類的定義可以清楚的發現,Thread類也是Runnable接口的子類,但是Thread類中并沒有完全地實現Runnable接口中的run()方法,

區別:如果一個類繼承Thread類,則不適合于多個線程共享資源,而實現了Runnable接口,就可以方便地實現資源的共享。

范例:繼承Thread不能共享資源

package ThreadDemo01;class MyThread2 extends Thread {private int ticket = 5;public void run() { // 覆寫Thread類的run()方法for (int i = 0; i < 100; i++) {if (ticket > 0) {System.out.println("買票:tick=" + ticket--);}}} }public class ThreadDemo04 {public static void main(String[] args) {MyThread2 mt1 = new MyThread2();// 創建線程對象1MyThread2 mt2 = new MyThread2();// 創建線程對象2MyThread2 mt3 = new MyThread2();// 創建線程對象3mt1.start();// 啟動線程1mt2.start();// 啟動線程2mt3.start();// 啟動線程3} }

 結果:

買票:tick=5
買票:tick=4
買票:tick=3
買票:tick=2
買票:tick=1
買票:tick=5
買票:tick=4
買票:tick=3
買票:tick=2
買票:tick=1
買票:tick=5
買票:tick=4
買票:tick=3
買票:tick=2
買票:tick=1

范例:Runnable可以實現資源共享

package test1;class MyThread implements Runnable {private int ticket = 5;public void run() {for (int i = 0; i < 100; i++) {if (ticket > 0) {System.out.println("買票:ticket=" + ticket--);}}} }public class ThreadDemo02 {public static void main(String[] args) {MyThread mt1 = new MyThread(); // 創建線程對象new Thread(mt1).start();new Thread(mt1).start();new Thread(mt1).start();new Thread(mt1).start();new Thread(mt1).start();new Thread(mt1).start();new Thread(mt1).start(); // 啟動了7個線程} }

  結果:

買票:ticket=5
買票:ticket=4
買票:ticket=3
買票:ticket=2
買票:ticket=1

雖然啟動了7個線程,但是指賣出了五張票

使用Runnable的好處是:

1.適合多個相同程序代碼的線程去處理同一資源的情況

2.可以避免由與java的單繼承特性帶來的局限性

3.增強了程序的健壯性,代碼能夠被多線程共享代碼與數據獨立

?

?

?



轉載于:https://www.cnblogs.com/bokun-wang/archive/2011/12/08/2281203.html

總結

以上是生活随笔為你收集整理的Thread类和Runnable接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。