Udemy Course Multithreading, Concurrency & Performance 4

Thread Inheritance

ZONGRU Li
Jun 21, 2021

由基本的java.lang.Thread擴展為自建的Thread

利用Java的繼承來改寫想要呈現的邏輯並試跑如下

其中Thread.currentThread()可改寫為this,一樣可以運行

如上可以建立自己想要的Thread class並且改寫邏輯(例如印出Thread id,priority...etc)

現在考慮一個複雜情境:

當我將錢存入一個數字鎖內,此時複數駭客用猜密碼方式嘗試破解

而警察在駭客開始破解時會嘗試10秒內逮捕駭客,程式碼如下:

建立一個隨機數字9999以內的鎖,另建立兩個(升冪與降冪)去猜鎖

另外還有一個倒數10的警察,先數完即表示警察獲勝

運行結果可能如下:

警察先倒數完10秒結束Process!

也有可能如下:

升冪hacker先猜到鎖的隨機數字,畢竟for迴圈跑很快!

而System.exit(0)會將整個Process結束

Summary:

  1. Thread class:學習使用Java的Thread class提供的function
  2. 兩種運行new Thread 的方式:

a.給新的Thread Object implement Runnable介面

b.extends Thread class,並建立這個class的Object來使用

(兩者方式皆正確,依據場景選用)

後面隨堂測驗中有這樣題目

接著隋堂小試題目:

我自己沒看答案完成如下:

解答:

嘛...好像差不多!雖然我課程線上檢核沒過...但其實就程式架構問題而已

參考課程

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet