java线程的加入、等待和守护

本文详细介绍了Java中线程的加入、等待及守护线程的概念与使用方法。通过具体示例解释了如何使用join方法控制线程执行顺序,yield方法让出CPU执行权以及如何设置守护线程并探讨其生命周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------------------------------java线程的加入、等待和守护-----------------------------------

 

 

加入线程

 void

join()
          等待该线程终止。

 void

join(long millis)
          等待该线程终止的时间最长为 millis 毫秒。

 void

join(long millis, int nanos)
          等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。

 

 

Join线程会抢先拿到CPU来执行线程,然后其他的线程再来执行。

 

public  class JoinTest {

 

    public   static  void main(String[] args) {

        JoinThread pt = new JoinThread();

        JoinThread pt1 = new JoinThread();

        JoinThread pt2 = new JoinThread();

       

        pt2.start();

        try {

           //join线程会抢先拿到cpu来执行线程,然后其他线程再来执行

           //通过join方法让线程2优先执行

           pt2.join();

        } catch (InterruptedException e) {

           e.printStackTrace();

        }

        pt.start();

        pt1.start();

    }

   

}

 

 

---------------------------------------------------------

 

等待线程

 

static void

yield()
          暂停当前正在执行的线程对象,并执行其他线程。

 

当前的线程从运行阶段回到就绪阶段,目的是把CPU资源让给其他的线程。

 

 

public  class YieldThread extends Thread{

 

    @Override

    public  void run() {

        for (inti = 0; i <50; i++) {

           System.out.println(this.getName() + "正在运行" + i);

           //当前线程回到就绪状态,然后其他线程来执行

           Thread.yield();

        }

    }

}

 

----------------------------------------------------------------

 

 

守护线程

 

 void

setDaemon(boolean on)
          将该线程标记为守护线程或用户线程。

 

守护线程会随着主线程的结束而结束。

 

public  class DaemonTest {

 

    public  static  void main(String[] args) {

        DaemonThread pt = newDaemonThread();

        DaemonThread pt1 = new DaemonThread();

       

        //设置成守护线程

        pt.setDaemon(true);

        pt1.setDaemon(true);

        pt.start();

        pt1.start();

       

        for (inti = 0; i <10; i++) {

           System.out.println(Thread.currentThread().getName()+ "主线程正在运行" + i);

        }

    }

   

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值