基本概念
程序与进程的概念
程序:数据结构+算法,主要指存放在硬盘上的可执行文件
进程:指运行在内存中的可执行文件
目前主流的操作系统都支持多进程,为了让操作系统可以同时执行多个文件。但是进程是重量级的,也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较有限
线程的概念
为了解决上述问题就提出线程的概念,线程就是进程内部的程序流,也就是说操作系统内部支持多进程,而每个进程的内部又是支持多线程的,线程是轻量的,新建线程会共享所在进程的系统资源,因此目前主流的开发都是采用多线程
多线程是采用时间片轮法来供多个线程的并发执行,所谓并发就是指宏观并行微观串行的机制
Thread 类
概念
java.lang.Thread 类代表线程,任何线程对象都是 Thread类 (子类)的实例
Thread类是线程的模板,封装了复杂的线程开启等操作,封装了操作系统的差异性
基本方法
方法功能Thread()构建对象
Thread(String name)指定线程名称构建对象
Thread(Runnable target)指定Runnable接口的对象来构建对象
Thread(Runnable target,String name)指定线程名称跟对象来构建对象
void run()若使用Runnable引用构建了线程对象,调用该方法是最终调用接口中的版本
若没有使用Runnable引用构建线程对象,调用该方法时则什么也不做
void start()启动线程,JVM会自动调用run()方法
线程的创建
方式1:自定义类继承 Thread 类并重写 run() 方法,然后创建实例并调用 start() 方法。
方式2:自定义类实现 Runnable 接口并重写 run() 方法,然后创建实例并作为实参来构建 Thread 类型对象,然后调用 Thread 的 start() 方法。
//方式1:
new Thread(){
@Override
public void run(){
//重写方法