Re: [問題] 父親要怎麼被子thread叫醒?
※ 引述《workworkwork (專心K書?)》之銘言:
: 1.
: 如何由A SLEEP?
: 是要用super.wait();嗎@@?
: 但他一直說current thread not owner
: 我先說一下我整個程式的架構吧~
: 我是由最先的main來史瑞德(thread)二個.....東東?不知用什麼計量單位Orz~
: 然後一個來接收網路訊息~(A)
: 另一個來讓使用者操作~(B)
: 而B可能會再史瑞德一個子視窗讓使用者操作~
: 所以我想SLEEP的人是B~
: (好像很複雜Orz)
簡單敘述適合只有 C 經驗的做法:
Step 1. 在 main thread start A 與 B 之後,用 join 讓 main 不會跑到底。
(如果後面沒東西就沒差了!)
Step 2. 若在 A 裏頭撰寫接收端,先把讀入串流的動作包在迴圈裏頭。
Step 3. 參考前面TonyQ的程式碼,使用Thread.sleep(1000),讓每執行一次迴圈
就睡一秒,給其他程式使用資源的機會。
(其他省略....)
至於 wait(),這是等待某個物件呼叫 notify() 或等待結束物件使用權的 method,
一定要搭配 synchronized 才能發揮應有的效果。此外,看你的敘述,你要 wait 的
不是 super (main thread),應該是 A 才對。 (這部分才需要 Java 經驗)
建議你可以向咕狗調閱關鍵字 java synchronized thread
: 2.
: 什麼叫method?
method(方法) - 意近 C 的 function。
懶人造句:我一聽那個正妹把 method 稱做 function,就知道我靠 Java 領好人卡
的機會又來了。
--
No Dying Skills, ● - Dame! New tech...
but Lazy Users. .\)
http://www.javaworld.com.tw/roller/page/morris﹒ ︵ √\ ___________________
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.77.181
推
09/21 02:39, , 1F
09/21 02:39, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):