執行緒的小問題

2021-08-01 23:43:51 字數 748 閱讀 7822

看乙個問題,匿名內部類和重寫的問題:

public class test01

})}.start();}}

結果應該是什麼呢?先不看上面的**,下面的**結果是什麼?

public class test01

}.start();

不難看出,和結果應該是輸出繼承了thread類的匿名物件鎖重寫的run方法的結果:test

。那麼我們再回過頭來看最上面的**。

拆分來看:這段**是由:

片段3new thread()

}.start();

繼承了thread類的匿名類

以及:

片段4new thread(new runnable()

}).start();

通過傳入乙個實現了runnable介面的thread建立的的匿名實現類 兩部分構成。

因此,通過抽絲剝繭,我們會發現,其實片段4中重寫的方法根本呼叫不到,為什麼?可以回顧一下多型的知識。因為它相對於片段3中的匿名類,實際上是父類的方法,不同

的是他重寫的是runnable介面中的run方法。而我們的片段3又重寫了它的方法,因此最後呼叫的還是實際的 匿名子類物件。也就是重寫了

system.out.println("重寫thread類的run方法的匿名類");

這個物件。

仔細思考一下。

多執行緒小問題

1 被禁用的一些操作多執行緒的方法 停止多執行緒 public void stop 銷毀多執行緒 public void destroy 掛起執行緒 public final void suspend 恢復掛起 public final void resume 被廢除的主要原因在於這些方法可能會導致...

記錄開發時的小問題 執行緒的使用

這次的乙個小demo是集合了ar和地圖兩大功能。採用tabhost把兩個功能集中在頁面底部,進而實現對功能的乙個展示,可是問題是當初採用button控制項時,可以很好地實現兩大功能,地圖也能完成定位的功能。但是換成tabhost後,地圖還是會出現,卻實現不了定位功能。經過對輸出日誌的檢視,發現原來是...

多執行緒的一些小問題集錦

測試執行緒是否已經死亡,可以呼叫isalive 方法.當執行緒處於就緒 執行 阻塞三種狀態時,返回true 當執行緒處於死亡 新建狀態時返回false。例項 如下 package com.thread public class startdead extends thread public stat...