java多线程

1年前 (2020-02-14) 393次浏览 已收录 2个评论

一、礼让yield

礼让线程,让当前正在执行线程暂停

不是阻塞线程,而是将线程从运行状态转入就绪状态

让cpu重新调度

public class create implements Runnable{
@Override
public void run() {
System.out.println("开始");
Thread.yield();
System.out.println("结束");
}
public static void main(String[] args) {
 for (int i=0;i<5;i++) {
  create th=new create();
  new Thread(th).start();
 }
}
}

二、join 插队

package 多线程;

public class jointest implements Runnable{
 private int i;
public jointest(int i) {
  // TODO Auto-generated constructor stub
 this.i=i;
 }
//join 合并线程,插队线程
//写在哪个线程体中,哪个线程被阻塞
@Override
public void run() {
System.out.println(i+" over");
}
public static void main(String[] args) {
 for (int i=0;i<5;i++) {
  jointest th=new jointest(i);
  if(i==2) {
   try {
    new Thread(th).join();
    System.out.println(i+" 正在被堵塞");
    Thread.sleep(10000);
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  new Thread(th).start();
 }
}
}

三、守护线程

t.setDaemon(true);
//将用户线程调整为守护 执行的时候不用等待守护线程执行完
//默认是用户线程 jvm会等用户线程执行完毕才会停止


渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java多线程
喜欢 (0)

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽
  1. 以后多发点哦
    2020-03-27 13:17
  2. 我加你了哦
    2020-03-28 16:58