java 等待一秒方法
一个thread调用这个方法后就等待1s,同时要让原来的thread继续响应publicvoidwait1s(){Threadt=null;t=newThread(thi...
一个 thread 调用这个方法后就等待1s,同时要让原来的thread继续响应
public void wait1s() {
Thread t = null;
t = new Thread(this);
t.start();
try {
t.sleep(1000);
} catch (InterruptedException e) {
}
}
会让界面卡死 展开
public void wait1s() {
Thread t = null;
t = new Thread(this);
t.start();
try {
t.sleep(1000);
} catch (InterruptedException e) {
}
}
会让界面卡死 展开
3个回答
推荐于2017-09-26
展开全部
sleep是静态方法,它的调用会引起所有进程的休眠。
在等待的进程中执行notify()和wait()方法,在外面的进程计时,执行够一秒的时候放弃cpu,让之前的线程执行
在等待的进程中执行notify()和wait()方法,在外面的进程计时,执行够一秒的时候放弃cpu,让之前的线程执行
更多追问追答
追问
听起来有道理,有没有示例代码,wait() api看不懂
追答
多个线程共享一个锁,如main方法所在的类MainClass的一个对象A.
public void run() {
synchronized(A)//锁住
{
notifyAll();//唤醒其他线程
while(true)
{
//你的代码
try {
A.wait(1000);
} catch (InterruptedException e) {
}
}
}
}
}
推荐于2017-09-17 · 知道合伙人数码行家
关注
展开全部
java中等待用线程的sleep方法,写法如下:
try {
Thread.sleep(1000); //1000 毫秒,也就是1秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
try {
Thread.sleep(1000); //1000 毫秒,也就是1秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-10-25
展开全部
已经启动的线程是不可以在外部调用sleep暂停的,只能通过控制线程内部的标签来使其暂停。
比如你可以在外部声名一个变量,在线程内部执行中判断这个变量的值,如果需要暂停,修改这个变量即通知该线程暂停。
比如你可以在外部声名一个变量,在线程内部执行中判断这个变量的值,如果需要暂停,修改这个变量即通知该线程暂停。
更多追问追答
追问
不能调用外部sleep 的话,如何让一个循环每秒循环一次,同时不锁死界面,我把
t = new Thread(this);
t.start();
try {
t.sleep(1000);
} catch (InterruptedException e) {
}
加到循环内部还是会锁死界面
追答
Thread.sleep(1000);
在线程内部用Thread.sleep();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询