进程和线程的学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38737992/article/details/89429242

进程:操作系统进行资源分配和调度的一个独立单位。

线程:操作系统调度的基本单位。

对计算机来说,每一个任务就是一个进程(Process),每一个进程内部中都至少有一个线程(Thread)是在运行,有时线程也被称为轻量级的进程。例如:启动一个Java虚拟机(JVM),操作系统就会创建一个新的进程(JVM进程),JVM进程中会派生或者创建很多线程。

线程是程序执行的一个路径,每一个线程都要有自己的局部变量表、程序计数器(指向正在执行的指令指针)以及各自的生命周期。在同一个进程中,线程共享进程的内存空间。

适当的多线程可以提高计算机资源的利用率,因为线程过多会造成死锁,资源抢占等问题。

多线程是通过轮流切换并分配处理器时间片的方式实现的,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程在同时执行(并行),其实是交替执行(并发)。

参考文献:

  • Java并发编程实战/(美)盖茨等著;童玉兰等译.——北京:机械工业出版社,2012.2
  • Java高并发编程详解:多线程与架构设计 / 汪文君著——北京:机械工业出版社,2018.5
  • Java并发编程的艺术 / 方腾飞,魏鹏,魏晓明著 .  ——北京:机械工业出版社,2015.7

 

猜你喜欢

转载自blog.csdn.net/qq_38737992/article/details/89429242