Java多线程实现、相关操作

这几个月在做比赛的项目,期间学的一些新知识在这做一下回顾。

一、主要两种实现方式:

1、继承java.lang.Thread类。

//创建新的线程对象
public class TestThread extends Thread{
    
     
public void run{
    
     
//功能实现代码
}
}
……
new TestThread().start()  //启动线程

2、实现java.lang.Runnable接口

//创建新类不继承Thread,实现Runnable接口
public class Text extends Objects implements Runnable{
    
    
  public void run{
    
    
  //功能实现代码}
 }
}

实现Runnable接口会创建一个Thread对象,并将Runnable对象与Thread对象关联。Thread包含两个构造方法。

public Thread(Runnable target)public Thread(Runable target,String name)new Thread(new Runnable(){
    
    
public void run(){
    
    
//功能实现代码
 }
}).start;

二、线程相关操作

1、线程的休眠
调用sleep()方法,在run()方法中:
Thread.sleep(1000)//线程休眠1s
2、线程的加入
当某个线程执行时使用join()方法加入另一个线程时,直到另一个线程结束才会继续执行此线程
3、线程的中断
当前版本废除了stop()方法,不建议使用其来停止,这里使用无限循环的形式使用布尔值来终止循环。

//定义类实现Runnable接口
public class Text extends Objects implements Runnable{
    
    
private boolean isContinue=true;
  public void run{
    
    
   //功能实现代码
  while(true){
    
    
  if(!isContinue){
    
    
     break;
      }
  
  
   }
//调用此方法控制布尔值
   public void setContinue(){
    
    
   this.isContinue=false;
   }
  }
 

或者当线程使用sleep()方法或wait()方法进入就绪状态,可以使用Thread类中的interrupt()使线程离开run()方法,同时结束进程。

猜你喜欢

转载自blog.csdn.net/qq_44706002/article/details/103244688