多线程和高并发是身为开发人员进阶中一直是绕不开的话题,为此专门学习了下,做下总结,作为自己的备忘录。
-------------------------------------
1.什么是线程:
线程是操作系统中能够进行运算调度的最小单位,是进程中的实际运作单位。线程本身有一个供程序执行时的堆栈,同类的多个 线程共享一块内存空间。
一个线程的生存周期:新建状态 -->就绪状态 -->运行状态 -->阻塞和唤醒线程-->死亡状态
2.多线程的好处和应用场景:
说到多线程的时候,我们就认为是用来提升性能,但实际上,这么说并不完全对,线程很多的时候也会影响性能,这在线程池中会得到体现。总结的来说:多线程主要是提高cpu的资源利用率从而来提高整个系统的性能。
一般多线程的场景用在,异步调用,大数据量下的读写文件,视频图像的处理,负载均衡,秒杀等场景。
3.多线程高并发的区别:
大多数情况下,我们讲多线程和高并发,所以给人一种多线程就是高并发的感觉, 事实上多线程只是高并发的一种实现,但是多线程不代表就是高并发。
高并发: 高并发是一种状态,如大量请求访问网关,这种情况会发生大量执行操作,如数据库操作、资源请求、硬件占用等。多线程是处理高并发的一种手段。
多线程:是一种异步处理的一种方式,在同一时刻最大限度的利用计算机资源。