线程控制—sleep()

来源:互联网 发布:pymongo 读取数据 编辑:程序博客网 时间:2024/05/17 09:05


Thread.sleep()方法

注意:(★:注意程度,仅对于我自己而言)

使当前线程睡眠

sleep()的参数指定以毫秒为单位

★★会释放出当前CUP资源,但是不会释放出对象锁——该处应该和wait()进行比较

除非因为中断而提早恢复执行,否则线程不会在这段时间之前恢复执行


代码Demo:

//调用join()方法,将当前线程与调用join()方法的线程“合并”,达到控制线程的目的public class Join {//思路:1、"线程1"拿到CPU资源时睡一秒//  2、间接达到让"线程2"先运行完的目的public static void main(String[] args) {MyRun mr1 = new MyRun(1);Thread t1 = new Thread(mr1);t1.setName("线程1");//设置线程名MyRun mr2 = new MyRun(2);Thread t2 = new Thread(mr2);t2.setName("线程2");//启动--就绪态t1.start();try {t1.join();//调用某线程的该方法,将当前线程与该线程“合并”  //该处:即调用t1线程的方法,将main线程与t1线程结合起来} catch (InterruptedException e) {}t2.start();}}class MyRun implements Runnable{private int num = 0;public MyRun(int num) {this.num = num;}@Overridepublic void run() {for(int i=num;i<=10;i+=2){//Thread.currentThread()--静态方法,返回对当前正在执行的线程对象的引用Thread thread = Thread.currentThread();String name = thread.getName();System.out.print(name+":"+i+" ");}System.out.println();//当其中一个线程run()方法运行完时,空行}}


0 0
原创粉丝点击