java睡眠的线程的时间如何唤醒或动态改变
现在有个需求,启动了一个线程,在线程里面睡眠一段时间,但在这段睡眠时间结束前想改变他睡眠的时间该怎么做,能不能唤醒后在赋值睡眠时间。
------解决方案--------------------
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();
}
}