多线程学习(六)-----线程状态-sleep()和join()详解

本文详细探讨了Java中多线程的两个关键操作:sleep()和join()。sleep()方法允许线程在指定毫秒数内休眠,而join()方法则使得当前线程等待指定线程完成执行。这两个方法在多线程同步和控制执行流程中起到重要作用。
摘要由CSDN通过智能技术生成
方法内容
static void sleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)
static void join()等待该线程终止。
static Thread currentThread()返回对当前正在执行的线程对象的引用

线程休眠 - - - sleep

★ static void sleep(long millis)方法

  	作用:      
 		在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。该线程不丢失任何监视器的所属权。    
 		
    参数:
    	millis - 以毫秒为单位的休眠时间。
    
    抛出:
    	InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,
       当前线程的中断状态 被清除。

线程等待——join

★ static void join()方法

 *  作用: 
 *     等待该线程终止。
 *  抛出:InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,
 *      当前线程的中断状态被清除。

应用案例:

package com.DuoXianCheng;

import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
import jdk.nashorn.internal.ir.ForNode;
import sun.font.FontRunIterator;

public class ThreadDemo2 {
 
   public static void main(String[] args){
       MyRunnable2 myRunnable2 = new MyRunnable2();
       Thread thread1 = new Thread(myRunnable2);
       thread1.start();
       for (int i = 0; i < 50; i++) {
           System.out.println(Thread.currentThread().getName() + "-" + i);
           try {
               Thread.sleep(300);
           } catch (InterruptedException e) {
               e.printStackTrace();
           }
           if (i == 20) {
               try {
                   thread1.join();
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
           }
       }
   }
}


class MyRunnable2 implements Runnable {
   @Override
   public void run() {
       for (int i = 0; i < 50; i++) {
           System.out.println(Thread.currentThread().getName() + "-" + i);
           try {
               Thread.sleep(500);
           } catch (InterruptedException e) {
               e.printStackTrace();
           }
       }
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值