进程:是一个执行中的程序,每个进程执行都有一个执行顺序,改进程是一个执行路径或者叫一个控制单元。
进程也就是一个应用程序
线程:就是进程中的独立的控制单元。线程控制着进程的执行。
多个线程组成一个进程
不同的进程之间不能共享代码和数据空间,而同一进程的不同线程可以共享代码和数据空间
java JVM启动的时候会有一个进程java.exe,该进程中至少会有一个线程负责java程序的执行,而且这个线程执行的代码存在于main方法中,该线程称之为主线程。
创建线程的两种方法
1、继承Thread类
步骤:1)定义类继承Thread
2)复写(重写)Thread类中的run()方法
3)调用线程的start方法。(作用1、启动线程2、调用run()方法)
2、实现Runable接口
步骤:1)定义类实现Runable接口
2)覆盖Runable接口的run()方法
3)通过Tread类建立线程对象
4)将Runable接口的自雷对象作为实际参数传递给Thread类的构造函数
5)调用Thread类的start方法开启线程并调用Runable接口子类的run()方法
实际方式好处:
避免了单继承的局限性,在定义线程时,建议使用实现Runable的方式。
两种方式的区别:
继承Thread:线程代码存放Thread子类run方法中
实现Runable:线程代码存放在接口子类的run方法