关于进程、线程、协程、多进程、多线程

一、基本概念

进程是表示资源分配的基本单位,又是调度运行的基本单位。

线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。

协程是一种比线程更加轻量级的存在,正如一个进程可以拥有多个线程一样,一个线程可以拥有多个协程。协程不是被操作系统内核所管理的,而是完全由程序所控制,也就是在用户态执行。这样带来的好处是性能大幅度的提升,因为不会像线程切换那样消耗资源。

二、多进程、多线程

好帖:多进程和多线程怎么选择

需要注意的是:多线程是异步的,但这不代表多线程真的是几个线程是在同时进行,实际上是依靠CPU的时间片轮转机制不断地在各个线程之间来回的切换(因为系统切换的速度非常的快,所以给我们在同时运行的错觉)。

线程的频繁创建销毁会带来不必要的开销,由此引入线程池的使用:

需要关注的点:

1、线程池的核心参数、工作原理、拒绝策略;(几乎面试必问)

2、线程池的几种默认实现方式,并不推荐使用默认实现方式,会带来OOM问题;

3、线程池中的线程异常后会发生什么;

4、提交任务后怎么获取返回结果。

三、线程的状态流转

线程的状态以及如何转换

你可能感兴趣的:(关于进程、线程、协程、多进程、多线程)