暂停线程的方法

暂停线程的方法packagecn.breeziness123.zhx;/***暂停线程执行常用的方法有sleep()和yield()方法(Thread类的静态方法),这两个方法的区别是:*1.sleep()方法:可以让正在运行的线程进入阻塞状态,直到休眠时间满了,进入就绪状态。*2.yield()方法:可以让正在运行的线程直接进入就绪状态,让出CPU的使用权(但是这个线程也会参加到…

package cn.breeziness123.zhx;

/**
 * 暂停线程执行常用的方法有sleep()和yield()方法(Thread类的静态方法),这两个方法的区别是:
 * 1. sleep()方法:可以让正在运行的线程进入阻塞状态,直到休眠时间满了,进入就绪状态。
 * 2. yield()方法:可以让正在运行的线程直接进入就绪状态,让出CPU的使用权(但是这个线程也会参加到使用权调度中,可能下一次又是调到它)。
 */
public class ThreadDemo07 {
    public static void main(String[] args) {
        //测试sleep()方法
/*        TestThread th1 = new TestThread();
        TestThread th2 = new TestThread();
        TestThread th3 = new TestThread();

        new Thread(th1).start();
        new Thread(th2).start();
        new Thread(th3).start();*/
//测试yield()方法
        TestThread2 th4 = new TestThread2();
        TestThread2 th5 = new TestThread2();
        new Thread(th4).start();
        new Thread(th5).start();


    }
}

class TestThread implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println(Thread.currentThread().getName() + "------>" + i);//这里的异常必须处理,不能抛出
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }


    }
}

class TestThread2 implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println(Thread.currentThread().getName() + "---->" + i);
            Thread.yield();
        }
    }
}

 

今天的文章暂停线程的方法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/23975.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注