进程与线程
进程:同一个操作系统中执行的一个子程序,包含了三部分虚拟CPU、代码、数据。
多进程:同一个操作系统中执行的多个并行的子程序。可以提高cpu的使用率。
线程:在同一个进程当中执行的子程序流。
多线程:同一个进程当中并发执行的多个子程序流。可以提高cpu的使用率。
进程与线程的区别:
进程有独立的进程空间,进程中的数据存放空间(堆空间和栈空间)是独立的。
线程的堆空间是共享的,栈空间是独立的,线程消耗的资源也比进程小,相互之间可以影响的。
java中如何调进程:
调用本地程序的两个类:
Runtime
Runtime.getRuntime.exec(...); //执行一个程序
其返回值就是Process类型
Process
- 注意:
只有运行状态的线程才有机会执行代码,主线程的中止不会影响其他的正在运行中的线程,主线程中止也就是main()方法退出了。只有进程中的所有线程都中止时,进程(JVM进程)才会退出,只要有线程没有中止,进程就不会退出。
操作系统决定线程是否有优先级,独占式的操作系统中系统会有优先级的概念,共享式的操作系统则不会有优先级的。
在线程的内部,程序依然顺序执行。
https://github.com/godmaybelieve
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理