要想使用多线程,就要首先创建多线程。
创建多线程的方法,一种是通过创建thread类的对象来创建多线程,一个是通过runnable接口创建多线程。
首先来总结通过创建thread类的对象的方法:
class 类名称 extends Thread{
属性;
方法;
修饰符 run(){
以线程处理的程序;
}
}
其中,run方法是Thread类的一个方法,定义run方法其实就是对run方法的覆盖。下面举一个使用多线程的例子:
class newThread extends Thread{ //线程类的子类
public void run(){ //覆盖run方法,打印输出
for(int i=1;i<=3;i++)
System.out.println("This is a new thread.");
}
}
public class testThread{ //测试类
public static void main(String[] args){
new newThread().start(); //创建线程类的对象,并使用start方法启动线程
for(int i=1;i<=3;i++) //测试类中的主方法的打印输出语句
System.out.println("this is old thread.");
}
}
编译并执行
可以发现,排在前面的语句后输出,排在后面的语句先输出;原因就在于,两者属于不同的线程。而CPU根据它的规则,给出了不同于语句排列顺序的执行顺序。
这里还要注意的是,虽然线程执行的语句放在run方法里面,要把run方法覆盖掉。但是,启动线程的方法是start方法。这才是启动线程的正确的方法。