看板 java 關於我們 聯絡資訊
更新 找到解答 希望可以幫到下一個人 最近在讀java thread相關的章節 碰巧看到leetcode的fizzbuzz 的多執行緒版本 https://i.imgur.com/q4NYd0W.jpg
https://i.imgur.com/QNCiyFe.jpg
想問runnable是怎麼作為函數的input的? 如果有個main function的話,他要怎麼去執行這個class的method? 我對runnable的理解是 他通常是這樣用的 https://i.imgur.com/gbHsVpf.jpg
要透過thread才能調用start方法 儘管討論區有解答 不太清楚如果是在main函數中 是怎麼樣去調用的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.31.194 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1666800545.A.DC5.html
SHANGOYANYI: Runnable型別代表物件中一定會有 .run() 這個方法10/27 07:27
SHANGOYANYI: 你在main裡面直接用就好了10/27 07:27
https://i.imgur.com/JAjGqTN.jpg
我在這裡卡死了... 求大神幫忙 ※ 編輯: ntpuisbest (118.160.150.146 臺灣), 10/28/2022 22:29:52 ※ 編輯: ntpuisbest (101.12.31.194 臺灣), 10/29/2022 00:53:58
ssccg: 這邊的Runnable跟Thread一點關係都沒有10/29 12:44
ssccg: 題目寫了ThreadA是要呼叫fizz,不是要當fizz的參數10/29 12:46
ssccg: Runnable printFizz的功能單純是印出fizz,不是Thread10/29 12:46
ssccg: 你對Runnable的理解就是錯的,沒有通常是那樣用的10/29 12:47
ssccg: Runnable就是用來當一個無參數無回傳方法的物件,相當於10/29 12:50
ssccg: FunctionalInterface的 () -> void,而Thread只是剛好需要10/29 12:52
ssccg: 一個這種參數而已10/29 12:53
感謝回答,初學thread到同步跟race condition發現這題 卻發現自己無法在main中運行 我想問一下我應該還是要先透過建構子實例化Fizzbuzz那個class 那Thread a要怎麼呼叫printFizz? Thread a應該是要start開始運行我知道 還有PrintFizz怎麼去塞Runnable 雖然這樣感覺是全問了沒錯... 就是要怎麼在main裡面做運算呢 不知道要下什麼google關鍵字才有用 試過了 method input Runnable java之類的 也沒看過別人討論怎麼在main裡面執行這個東東 ※ 編輯: ntpuisbest (118.160.150.146 臺灣), 10/29/2022 23:06:02 https://github.com/smltq/spring-boot-demo/blob/master/leetcode/src/main/java/com/easy/leetcode/Sub1195.java ※ 編輯: ntpuisbest (118.160.151.12 臺灣), 10/31/2022 23:48:26
ppc: 我想你有這些問題應該是你不懂method reference 11/23 15:42
ppc: or lambda expression? 11/23 15:45