运行中的应用程序叫进程,每个进程运行时,进程负责了内存空间的划分。它是系统进行资源分配和调度的一个独立单位。操作系统都是支持多进程的 线程
线程是轻重级的进程,是进程中一个负责程序执行的控制单元线程是由进程创建的(寄生在进程中)一个进程可以拥有多个线程线程有几种状态(新建new,就绪Runnable,运行Running,阻塞Blocked,死亡Dead)开启多个线程是为了同时运行多部分代码,每个线程都有自已的运行的内容,这个内容可以称线程要执行的任务 Thread
Java中通过继承Thread类来 创建 并 启动多线程 ,步骤如下:
- 定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此把run()方法称为线程执行体。创建Thread子类的实例,即创建了线程对象调用线程对象的 start()方法来启动该线程
//创建一个Thread类的子类
public class MyThread extends Thread{
//定义指定线程名称的构造方法
public MyThread(String name) {
//调用父类的String参数的构造方法,指定线程的名称
super(name);
}
//在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?)
@Override
public void run() {
for (int i = 0; i <2000 ; i++) {
System.out.println(this.getName()+"-"+i);
}
}
public static void main(String[] args) {
MyThread mt=new MyThread("第1个线程");
MyThread mt2=new MyThread("第2个线程");
mt.start();
mt2.start();
}
}
ps:线程的执行顺序,一般不可控制,是由操作系统调度
线程同步 同步代码块synchronized (this){
//加锁内容
}
同步方法
public synchronized static void print(){
//加锁内容
}
@Override
public void run() {
while(true){
print();
}
}



