首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java睡眠的线程的时间怎么唤醒或动态改变

2013-12-07 
java睡眠的线程的时间如何唤醒或动态改变现在有个需求,启动了一个线程,在线程里面睡眠一段时间,但在这段睡

java睡眠的线程的时间如何唤醒或动态改变
现在有个需求,启动了一个线程,在线程里面睡眠一段时间,但在这段睡眠时间结束前想改变他睡眠的时间该怎么做,能不能唤醒后在赋值睡眠时间。


[解决办法]

引用:
Quote: 引用:

使用线程锁,改小的话,只需要提高线程优先级,唤醒该线程,然后重新设置睡眠时间即可。当前唤醒线程的操作可能不是立即唤醒的

请问sleep的线程该怎样唤醒呢


Object lock = new Object();
int time1 = 1000;
int time2 = 500;
//第一次线程休眠
synchronized (lock) {
try {
lock.wait(time1);
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}

//激活线程的时候调用
synchronized (lock) {
lock.notify();
try {
lock.wait(time2);
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}

热点排行