j2me的游戏开发中,如何把一个线程停止,停了以后如何唤醒。
各位高手:
我现在想把一个线程停止,代码如下:
new Thread() {
public void run() {
.
.
while (isThreadWait){//线程等待
try{
synchronized(this){
wait();
}
}
catch (Exception e) {
}
}
}
}
线程是可以停了,但是我想用下面的代码把线程唤醒却没有成功,
isThreadWait = false;
synchronized (this){//同步的唤醒线程
this.notifyAll();
}
请问是为什么呢?谢谢!
问题点数:0、回复次数:7Top
1 楼starpan()回复于 2004-04-02 13:47:33 得分 0
有没有人知道有呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Top
2 楼mingjava(学习)回复于 2004-04-02 18:50:12 得分 0
synchronized(this)
{
itThreadWait = false;
notify();
}Top
3 楼dongshaojie(董少杰)回复于 2004-04-03 19:55:18 得分 0
线程运行完后就自动被释放了,不能在唤醒啊!除非你在从新NEW一个!Top
4 楼witboy(吴春江)回复于 2004-04-07 22:09:56 得分 0
不知学过j2se吗,唤醒是要靠别的线程来唤醒Top
5 楼wjw123(阿铁)回复于 2004-04-08 12:29:56 得分 0
楼上有理,比如你都睡着了,怎么自己叫醒自己...Top
6 楼wjw123(阿铁)回复于 2004-04-08 12:31:40 得分 0
线程既然停了,改线程中用于唤醒线程的代码就不会被执行Top
7 楼flyingghost(游魂)回复于 2004-04-08 20:14:12 得分 0
1运行停止的线程无法再开始。只能暂停。
2线程无法自己睡眠后唤醒自己。只能用另一个线程。
3两个线程同步,更多的是用sleep()+标志或者用join()。
4建议看《Java线程 第二版》,O'REILLY出版。Top




