1.线程概述
1.进程
在一个操作系统中,每个独立执行的程序都可以称为一个进程,也就是“正在运行的程序”
2.线程
每个运行的程序都是通过继承,在一个进程中还可以有多个执行单元同时运行,这些执行单元可以看作程序执行的一条条线索,称为线程
注意:创建进程比创建线程开销大,尤其是在Windows系统。进程间通信比线程间通信慢,因为线程间通信是读写同一个变量
2.线程的创建
1.继承Thread类创建多线程
单线程如下
public class Example{
public static void main(String[] args){
//创建MyThread实例对象
MyThread myThread=new MyThread();
//调用MyThread类的run()方法
myThread.run();
//该循环是一个死循环,打印输出语句
while(true){
System.out.println("Main方法正在运行"):
}
}
}
class MyThread{
public void run(){
//该方法是一个死循环。打印输出语句
while(true){
System.out.println("MyThread类的run()方法在运行");
}
}
}
通过继承Thread类的方式来实现多线程,如下
public class Example{
public static void main(String[] args){
//创建线程MyThread的线程对象
MyThread myThread=new MyThread();
//开启线程
MyThread.start();
//通过死循环语句打印输出
while(true){
System.out.println("main()方法正在运行");
}
}
}
class MyThread extends Thread{
public void run(){
//通过死循环语句打印输出
while(true){
System.out.println("MyThread类的run()方法在运行");
}
}
}
2.实现Runnable接口创建多线程
通过实现Runnable接口的方式创建多线程,如下
public class Example{
public static void main(String[] args){
//创建MyThread的实例对象
MyThread myThread=new MyThread();
//创建线程对象
Thread thread=new Thread(myThread);
//开启线程,执行线程中的run()方法
thread.start();
while(true){
System.out.println("main()方法在运行");
}
}
}
class MyThread implements Runnable{
//线程的代码块,