java多线程怎样让一个线程睡眠

 我来答
狂野飙车33
2016-09-11 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:113
采纳率:100%
帮助的人:66.1万
展开全部

可以使用sleep()方法。

sleep()方法拥有一个参数,它控制睡眠的长短,以毫秒计算。sleep()方法会抛出InterruptedException,所以一定在try-catch块里面使用它。

示例代码如下:

public class A implements Runnable{
    int i = 0;

    public static void main(String[] args){
        A a1 = new A();
        A a2 = new A();
        a1.run();
        a2.run();
    }
    
    public void run(){
        while(++i <= 100){
            System.out.println(i);
            try{
                Thread.sleep(50);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}

注意,sleep()方法并不保证线程醒来后进入运行,只能保证它进入就绪状态。

百度网友3831f2b
2016-08-19 · TA获得超过162个赞
知道小有建树答主
回答量:143
采纳率:100%
帮助的人:93.2万
展开全部

Thread提供的sleep方法,让线程睡眠,这样做是可以达到你的要求的。

但是,下面列举的一些方法,也能够实现相对意义上的“睡眠”:

  1. 可以使用Wait方法,让线程阻塞。

  2. 可以使用join方法,让线程合并。

  3. 可以使用lock方法,让线程互斥。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千古人文
2016-08-22 · TA获得超过388个赞
知道小有建树答主
回答量:233
采纳率:93%
帮助的人:86万
展开全部
1,通过使用Thread.sleep(long millsecond),时间单位是毫秒,过了这个时间后,线程会继续执行;
2,使用wait(),方法,这个方法需要其它线程以notify唤醒才能继续执行,否则会一直睡眠。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
endeavor_yds
2016-07-21
知道答主
回答量:25
采纳率:0%
帮助的人:5.9万
展开全部
你可以使用线程Thread类提供的sleep()方法,也可以使用Object类提供的wait()方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kwchappy
2016-09-03 · TA获得超过775个赞
知道小有建树答主
回答量:504
采纳率:0%
帮助的人:311万
展开全部
  1. 线程有个sleep方法,参数是睡眠的时间,单位是毫秒

  2. 多线程中,一般都是执行同样的操作,随便睡眠一个就好。

  3. 如果是不通的功能线程,你要先确定要停的线程

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式