【Java】线程相关概念
【摘要】 1. 程序(program) 2. 进程 3. 什么是线程 4. 线程相关概念 1. 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。简单的说:就是我们写的代码。 2. 进程进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用微信,又启动了一个进程,操作系统将为微信分配新的内存空间。进程是程序的一次执行过程,或是正在...
1. 程序(program)
- 是为完成特定任务、用某种语言编写的一组指令的集合。简单的说:就是我们写的代码。
2. 进程
- 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用微信,又启动了一个进程,操作系统将为微信分配新的内存空间。
- 进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生、存在和消亡的过程。
3. 什么是线程
- 线程由进程创建的,是进程的一个实体
- 一个进程可以拥有多个线程,举例如下:
4. 线程相关概念
- 单线程:同一个时刻,只允许执行一个线程
- 多线程:同一个时刻,可以执行多个线程,比如:一个qq进程,可以同时打开多个聊天窗口,一个迅雷进程,可以同时下载多个文件。
- 并发:同一个时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简单的说:单核cpu实现的多任务就是并发。
如下:CPU处在来回切换的方式来执行程序的
- 并行:同一个时刻,多个任务同时执行。多核cpu可以实现并行。
并行里面可能也会出现并发,并发和并行也有可能都存在的。
- Java代码的形式查看当前电脑的CPU数量/核心数
public class CpuNum {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
//获取当前电脑的cpu数量/核心数
int cpuNums = runtime.availableProcessors();
System.out.println("当前有cpu 个数=" + cpuNums);
}
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)