进程
- 进程就是在操作系统上执行的一个应用程序;比如:qq.exe。进程是系统进行资源分配的最小单位。
备注:
1)进程与线程的区别?
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。
(1)进程有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的。
(2)线程堆空间是共享的,栈空间是独立的,线程消耗的资源也比进程小,相互之间是可以影响的。
相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其它线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
2)进程与线程的优缺点?
线程执行开销小,但不利于资源的管理和保护;
而进程正相反。同时,进程可以跨机器迁移。
3)有了进程为什么还要线程?
主要是进程有缺陷,需要线程来弥补其的缺点。主要体现在两点上:
(1)进程在同一时间只能干一件事。如果想同时干两件事或多件事,进程就无能为力了。
(2)进程在运行过程中如果遇到阻塞,会将整个进程挂起。比如等待输入时会阻塞挂起进程,但工作中其他不依赖于输入的数据,也无法执行。
4)协程是什么
4-1) 定义:协程是用户态轻量级线程,由程序员或运行时库控制调度,无需内核介入。
4-2)特点:
- 极低开销:切换在用户态完成,无需系统调用或内存切换。
- 协作式调度:协程主动让出执行权(如
yield),避免抢占式调度的复杂性。 - 单线程并发:适合I/O密集型任务(如网络请求),但无法利用多核CPU(需结合多进程/线程)。
4-3)应用场景:高并发I/O操作(如 Go 的 Goroutine、Python 的 asyncio)。
更多java基础总结(适合于java基础学习、java面试常规题):
总结篇(9)---字符串及基本类 (1)字符串及基本类之基本数据类型
总结篇(10)---字符串及基本类 (2)字符串及基本类之java中公共方法及操作
总结篇(12)---字符串及基本类 (4)Integer对象
总结篇(14)---JVM(java虚拟机) (1)JVM虚拟机概括
总结篇(15)---JVM(java虚拟机) (2)类加载器
总结篇(16)---JVM(java虚拟机) (3)运行时数据区
总结篇(17)---JVM(java虚拟机) (4)垃圾回收
总结篇(18)---JVM(java虚拟机) (5)垃圾回收算法
总结篇(19)---JVM(java虚拟机) (6)JVM调优
总结篇(24)---Java线程及其相关(2)多线程及其问题
总结篇(25)---Java线程及其相关(3)线程池及其问题
总结篇(26)---Java线程及其相关(4)ThreadLocal
总结篇(27)---Java并发及锁(1)Synchronized
总结篇(31)---JUC工具类(1)CountDownLatch

被折叠的 条评论
为什么被折叠?



