作者ntpuisbest (阿龙)
看板java
标题[问题] Runnable 作为method的input
时间Thu Oct 27 00:09:03 2022
更新 找到解答 希望可以帮到下一个人
最近在读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://webptt.com/cn.aspx?n=bbs/java/M.1666800545.A.DC5.html
1F:推 SHANGOYANYI: Runnable型别代表物件中一定会有 .run() 这个方法10/27 07:27
2F:→ 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
3F:→ ssccg: 这边的Runnable跟Thread一点关系都没有10/29 12:44
4F:→ ssccg: 题目写了ThreadA是要呼叫fizz,不是要当fizz的参数10/29 12:46
5F:→ ssccg: Runnable printFizz的功能单纯是印出fizz,不是Thread10/29 12:46
6F:→ ssccg: 你对Runnable的理解就是错的,没有通常是那样用的10/29 12:47
7F:→ ssccg: Runnable就是用来当一个无参数无回传方法的物件,相当於10/29 12:50
8F:→ ssccg: FunctionalInterface的 () -> void,而Thread只是刚好需要10/29 12:52
9F:→ 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
10F:推 ppc: 我想你有这些问题应该是你不懂method reference 11/23 15:42
11F:推 ppc: or lambda expression? 11/23 15:45