第一章 多线程入门之概念

第一章 多线程入门之概念

第一章 多线程入门之概念



前言

本文主要记录了进程,线程,并发,并行相关的概念


一、进程

1.1 概述

进程在windows中就是一个.exe程序,这是我们所熟知的。我们知道程序通过指令数据构成,这些指令和数据存在于磁盘网络中需要加载到内存中。开启进程其实就是加载指令和数据到内存中的过程。比如Jvm就是一个进程,它开启时会将字节码文件加载到内存区域中。
在java中,进程是资源分配的最小单位

1.2 进程通信

  1. 同一台计算机的不同进程的通信使用IPC协议
  2. 不同计算机的不同进程的通信使用Http协议或者Rpc协议,,,

二、线程

1.1 概述

一个进程会有很多的线程,线程的作用就是将内存中的指令流交给CPU执行,说人话就是线程将内存中的指令集交给CPU一步一步执行,比如Jvm中一个栈结构就代表一个线程,通过方法区中的指令集,数据进行入栈出栈操作实现运算。
在java中,线程是最小的调度单位

1.2 线程通信

一个进程之间的线程可以共享资源

三、并发

3.1概述

并发又称为concurrent,CPU中有一个任务调度器,将时间分成时间片,windows一般是15ms,一个时间片对应一个线程。试想一下只有一个CPU怎么能同时执行这么多指令组呢,就好像你不能同时扫地,洗澡,敲代码一样。
在这里插入图片描述

四、并行

4.1概述

并发指的是多个CPU同时操作多个线程,对应上面的例子,你可以请阿姨帮你打扫屋子,请别人帮你敲代码,自己只要洗澡就可以了。
在这里插入图片描述

五、 异步

5.1概述

在一个main()方法中,先后调用了f1()和f2()两个方法。异步指的就是只有f1()方法结束了之后才能执行f2()方法;同步Z指的就是不需要f1()方法结束便可以执行f2()方法。在Java中实现异步就是通过多线程。


总结

本篇文章主要简述了多线程编程涉及到的基本概念
如果有问题请评论中指出,希望大家共同进步:simle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值