1.为什么要使用多线程
因为在日常生活,我们在操作的时候,需要在一个界面中同时实现多个功能。
2.多线程的创建
多线程的创建有两种方法
1.使用继承Thread类的方式创建
2.使用实现Runnable的方式实现创建
1.
第一步:创建一个类,使其继承Thread类
第二步:重写run方法
public class test extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println("这是分线程:"+i+"\n");
}
}
}
第三步:在main方法中调用test对象的start方法;
注:调用start方法的作用:
1.调用类中的run方法
2.创建一个线程
class main{
public static void main(String args[]){
test a=new test();
a.start();
for(int i=0;i<10;i++){
System.out.println("这是主线程:"+i+"\n");
}
}
}
2.
* 1.写一个实现Runnamble接口的类--注意要重写run方法
* 2.实例化此类的对象
* 3.new 一个Thead类的对象,将之前实例化的类当作参数传递给Thead对象当中
* 4.通过Thread类的对象调用statr()*/
public class MThead implements Runnable {
@Override
//重写的方法体,里面的内容是线程需要做的方法
public void run() {
System.out.println(" 小羊咩咩最可爱");
}
}
class main{
public static void main(String args[]){
MThead a=new MThead();//实例化对象
Thread b=new Thread(a);//实例化Thread,将之前实例化的类当作参数传递给Thead对象当中
b.start();
}
}
两种方式的对比
相同的地方:
1.两种方式都需要调用start()方法,且两种方法调用的都是Thread类里面的start方法
2.两种方法都需要用到Thread类(但是使用的形式不同)。第一种是通过继承,第二种是new对象
不同的地方
1.第二种方法是通过implement接口runnable然后对run方法进行重写,第一种则是通过继承Thread类对run方法进行重写
2.第一种方法重点是在继承,第二种的重点是在接口
好啦,学完线程的创建之后,四不四感觉好简单呀,如果有问题,可以私信问我呀