作者hougzou (学无止境,啥时才摔到底?)
看板java
标题Re: [问题] 父亲要怎麽被子thread叫醒?
时间Sun Jul 29 17:41:09 2007
※ 引述《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
1F:推 l123567:推懒人造句 XD 09/21 02:39