两个概念
线程 : 就是进程中的一个执行单元 也可以叫执行路径
进程 : 正在运行的程序.当一个程序进入到内存中的时候 就有了一个进程
进程中至少有一个线程,可以有多个线程,我们把有个线程的程序叫多线程程序
CPU: 在某一时刻上只能执行一个路径,但是在我们看来 CPU可以执行多个线程
因为 CPU在进行高速的切换.
两种调度方式
分时调用
抢占式调用 我们用的 java就是这种
开启线程的两种方式
1:继承Thread类
A:自定类继承Thread类
B:重写run方法
C:创建自定义类对象
D:调用start()方法
2:实现Runnable接口
A:自定类实现Runnable接口
B:重写run方法
C:创建自定义类对象
D:创建线程对象,并将自定义类对象当做参数传递
E:调用start方法
第二种更符合开发
1: 解决了单继承的局限性
2: 将线程对象和线程任务分离 解耦 降低耦合度
线程 : 就是进程中的一个执行单元 也可以叫执行路径
进程 : 正在运行的程序.当一个程序进入到内存中的时候 就有了一个进程
进程中至少有一个线程,可以有多个线程,我们把有个线程的程序叫多线程程序
CPU: 在某一时刻上只能执行一个路径,但是在我们看来 CPU可以执行多个线程
因为 CPU在进行高速的切换.
两种调度方式
分时调用
抢占式调用 我们用的 java就是这种
开启线程的两种方式
1:继承Thread类
A:自定类继承Thread类
B:重写run方法
C:创建自定义类对象
D:调用start()方法
2:实现Runnable接口
A:自定类实现Runnable接口
B:重写run方法
C:创建自定义类对象
D:创建线程对象,并将自定义类对象当做参数传递
E:调用start方法
第二种更符合开发
1: 解决了单继承的局限性
2: 将线程对象和线程任务分离 解耦 降低耦合度