多线程的含义:
多线程是指一个程序有多个执行流,这意味着一个程序的多个语句块可以同时进行,但不等于多次启动一个程序
实现线程的方式:
第一种:
生成Thread类的子类,并定义重写该子类自己的run()方法,线程则在run()中实现,但这也存在一些缺陷,因为类中只存在单继承,这样定义的类就已经是其他类的子类了
第二种:
通过Runnable接口来实现,将Runnable接口中的run()方法来实现线程
第一种生成Thread子类的实现步骤:
1.构建Thread子类,重写其中的run()方法
2.构造线程对象
3.线程对象调用start方法
代码实现
package Thread;
public class Test {
public static void main(String[] args){
MyThread t=new MyThread();
t.start();
for(int i=0;i<10;i++){
System.out.println("main线程--> "+i);
}
}
}
package Thread;
public class MyThread extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println("分支线程--> "+i);
}
}
}
第二种Runnable接口的实现步骤:
1.将实现多线程的类实现Runnable接口,实现run()方法,并将线程体放在该方法中
2.创建一个该类实例
3.在该实例中创建一个Thread的实例
4.调用start()方法
代码实现:
package Thread1;
public class Test {
public static void main(String[] args){
Runnable r1= new Example();
Thread t=new Thread(r1);
t.start();
for(int i=0;i<10;i++) {
System.out.println("main线程-->" + i);
}
}
}
package Thread1;
public class Example implements Runnable{
@Override
public void run() {
for(int i=0;i<10;i++) {
System.out.println("分支线程-->" + i);
}
}
}