启动一个服务后,会实例化OPT类,并调用方法A,
在a方法中会执行一个等待:
synchronized (OPT.this) {
try {
wait(5分钟);
} catch (InterruptedException e) {
....
}
}在等待时,我强制关闭服务后,再启动,会在调用OPT的a方法时停住,因为OPT没有notify现在我把OPT写成了单例模式,启动服务时通过OPT.getInstance()获得实例
关闭服务时在onDestroy里做了notify:
if (opt == null) {
OPT.getInstance().notifyAll();
}else{
opt.notifyAll();
}但是这样没有效果,OPT类没有被notify掉,在下次启动服务时还是会停在调用a方式那儿,直到时间结束;请问我应该怎么做才能在服务关闭时notify掉OPT类?????
在a方法中会执行一个等待:
synchronized (OPT.this) {
try {
wait(5分钟);
} catch (InterruptedException e) {
....
}
}在等待时,我强制关闭服务后,再启动,会在调用OPT的a方法时停住,因为OPT没有notify现在我把OPT写成了单例模式,启动服务时通过OPT.getInstance()获得实例
关闭服务时在onDestroy里做了notify:
if (opt == null) {
OPT.getInstance().notifyAll();
}else{
opt.notifyAll();
}但是这样没有效果,OPT类没有被notify掉,在下次启动服务时还是会停在调用a方式那儿,直到时间结束;请问我应该怎么做才能在服务关闭时notify掉OPT类?????
解决方案 »
- 引入Android项目,运行时有FileIO异常
- 关于socket异常java.net.SocketException:Bad file number
- 为什么官方的Android重力感应示例代码会出错?
- 移动设备的交互协议
- 在一個project中創建contentprovider后,如何在另一個新的android project的code中access
- ListView 的 id 问题
- 求教777的滚轮的制作思路
- ExpandableListView重复刷新
- 高德地图导航SDK
- 求助!listview中的textview复用如何解决
- 问题请教 界面布局的问题:如何实现上中下这种布局,上下两块固定,中间可以进行版面切换
- 电信定制android手机来电号码无法获取问题
请注意你在主线程notifyall, 子线程并没有关闭,而是被唤醒继续参与竞争,也就造成了服务关闭时线程还在运行的原因
当进程被杀死时,线程肯定都玩完了