Java线程控制(6)

1.方法
  • sleep方法
可以调用Thread的静态方法:
//使当前线程休眠(暂时停止执行millis毫秒)
public static void sleep(long millis)throws InterruptedException
//由于是静态方法,sleep可以由类名直接调用:
Thread.sleep(...)
Thread/TestInterrupt.java
  • join方法
    合并某个线程 Thread/TestYield.java

  • yield方法
    让出CPU,给其他线程执行的机会 Thread/TestYield.java

1.实例
import java.util.*;
public class testInterrupt{
  public static void main(String[] args){
     MyThread thread = new MyThread();
     thread.start();
     try(Thread.sleep(1000);)
     catch(InterruptedException e){}
     Thread.interrupt();
  }
}
class MyThread extends Thread{
  public void run[]{
     vhile(true){
        System.out.println("****"+new Date()+"****");
        try{
           sleep(1000);
        }catch(InterruptedException e){
           return;
        }
     }
  }
}
  • 每隔一秒钟把系统时间打印一次,用sleep的时候必须写try catch,不能再run()方法添加through exception,因为run()是重写的方法,不能抛出比被重写方法不同的异常
public class TestJoin{
   public static void main(String[] args){
      MyThread2 t1=new MyThread2("t1");
      t1.start();
      try(t1.join();)
      catch(InterruptedException e){}
      for(int i = 1; i<=10;i++){
         System.out.println("i am main thread");
      }
   }
}
class Mythread2 extends thread{
   MyThread2(String s){
      super(s);
   }
   public void run(){
      for(int i =1;i<=10;i++){
         System.out.println("i am "+getName());
         try{
           sleep(1000);
         }
         catch(InterruptedException e){
           return;
         }
      }
   }
}

结果
这里写图片描述
yeild方法

  • 让出一会儿,时间由CPU分配

这里写图片描述

3.优先级

这里写图片描述

public class TestPriority{
  public static void main(String[] args){
     Thread t1=new Thread(new T1());
     Thread t2=new Thread(new T2());
     //设置优先级
     t1.setPriority(Thread.NORM_PRIORITY +3);
     t1.start();
     t2.start();
  }
}
class T1 implements Runnable{
   public void run(){
       for(int i=0;i<1000;i++){
           System.out.println("T1:"+i);
       }
   }
}
class T2 implements Runnable{
   public void run(){
       for(int i=0;i<1000;i++){
          System.out.println("------T2:"+i);
       }
   }
}

执行结果:
这里写图片描述
不设置优先级执行结果:
这里写图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值