这几个月在做比赛的项目,期间学的一些新知识在这做一下回顾。
一、主要两种实现方式:
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()方法,同时结束进程。