概述:
Java语言内置了多线程支持,当Java程序启动的时候,实际上是启动了一个JVM进程,然后JVM启动主线程来执行 main()方法,在main()方法中我们可以又启动其他线程,每个线程的任务就是执行一段顺序执行的代码,Java使用线程执行体来容纳这段代码。
在Java中,用Thread类代表线程,所有线程对象,都必须是Thread类或者Thread类子类的实例
多线程的创建方式有三种,但是今天我只介绍两种经常用的方式:
第一种创建方式: 继承Thread类,并重写run()方法
第一步:继承java.lang.thread;
第二步:重写run方法
定义线程
创建线程
启动线程
public class TreadTest01{
public static void main(String[] args){
//创建线程
Thread t=new Processor();
//启动
t.start();//这段代码执行瞬间结束,告诉JVM再分配一个新的栈给t线程
//run()方法不需要程序员手动调用,系统程序启动之后自动调用run方法
//这段代码在主线程中运行
For(int i=0;i<10;i++){
System.out.println("main-->"+i);
}
//有多线程之后,main方法结束只是主线程栈中没有方法栈了,但是其他线程或者栈中还有栈帧
}
}
//定义一个线程
class Processor extends Thread{
//重写run方法
public void run(){
for(int i=0;i<100;i++){
System.out.println("run-->"+i);
}
}
}
结果:
Java中实现线程的第二种方式:通过实现runnable接口创建线程类
第一步:写一个类实现java.lang.runnable;接口
第二步: 实现run方法
Public class ThreadTest{
public static void main(String[] args){
//创建线程
Thread t=new Thread(new Processor());
//启动
t.start();
}
}
Class Processor implements Runnable{
public void run(){
for(int i=0;i<10;i++){
System.out.println("run--->"+i);
}
}
}