Windows技术篇——进程、线程、消息机制进程间通信[通俗易懂]

Windows技术篇——进程、线程、消息机制进程间通信[通俗易懂]概念192.168.0.1–192.168.0.255一、进程状态1、创建状态:进程由创建而产生。2、就绪状态:指进程已准备好运行状态,即进程已分配到除CPU以外所有的必要资源后,只要再获得CPU,合可立即执行。(有执行资格,没有执行权的进程)3、运行状态:指进程已经获取CPU,其进程处于正在执行的状态。(既有执行资格,又有执行权的进程)4、阻塞状态:指正在执行的进程由于发生某事件(如…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

概念

192.168.0.1–192.168.0.255

一、进程状态

1、创建状态:进程由创建而产生。
2、就绪状态:指进程已准备好运行状态,即进程已分配到除CPU以外所有的必要资源后,只要再获得CPU,合可立即执行。(有执行资格,没有执行权的进程)
3、运行状态:指进程已经获取CPU,其进程处于正在执行的状态。(既有执行资格,又有执行权的进程)
4、阻塞状态:指正在执行的进程由于发生某事件(如I/O请求,申请缓冲区失败等)暂时无法继续执行的状态,即进程执行受到阻塞。
5、终止状态:进程的终止也要通过两个步骤:首先,是等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还给操作系统。

二、为何阻塞状态和就绪状态分开?

看定义可知

三、线程

是进程的一个执行单元,是进程内部调试的实体,比进程更小的独立运行的基本单位,线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程。

四、为什么会有线程?

早期:在OS中一直都是以进程作为能拥有资源和独立运行的基本单位.后来人们又提出了比进程更小的能独立运行的基本单位-线程(Threads),试图通过它来提高系统内程序并发执行的程序,从而进一步提高系统的吞吐量.后来多处理机系统得到迅速发展,线程能比进程更好的提高程序的并发执行程序,充分发挥多处理机的优越性。

五、进程线程的区别?

地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、CPU等,但是进程之间的资源是独立的。
执行过程:每个独立的进程有一个程序运行的入口,顺序执行序列和程序入口,但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。线程是处理器调试的基本单位,但是进程不是。两者均可并发执行。

六、线程进程优缺点?

线程执行开销小,但是不利于资源的管理和保护,线程适合在SMP机器(双CPU系统)上运行;
进程执行开销大,但是能够很好的进行资源管理和保护,进程可以跨机器前移。

对资源的管理和保护要求高,不限制开销和效率时,使用多进程;
要求效率高,频繁切换时,资源的保护管理要求不是很高的时候,使用多线程;

八、多线程应用场景

常见浏览器、Web服务、Web请求、各种专用服务器(游戏服务器);
Servlen多线程、FTPd下载、多线程操作文件、数据库用到多线程;
分布式计算(tomcat内部采用多线程)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170948.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nfs之端口设置

    nfs之端口设置1,修改/etc/sysconfig/nfs文件  MOUNTD_PORT="4002"STATD_PORT="4003"LOCKD_TCPPORT="4004"LOCKD_UDPPORT="4004"查看rpcinfo-p能看到mouted_port=4002,其余三项未显示2,tcp 1112049端口udp111 4046端口 把…

    2022年6月27日
    32
  • es6模板字符串的好处有哪些_使用es6方式实现伪数组转数组

    es6模板字符串的好处有哪些_使用es6方式实现伪数组转数组vue项目中碰到需要在模板字符串中动态渲染数组中的每一项,发现v-for不能正常渲染,于是使用原生的js语法来完成。

    2022年8月21日
    7
  • 关于iptabels的-A与-I参数

    关于iptabels的-A与-I参数

    2021年6月1日
    75
  • 理解逻辑回归中的ROC曲线和KS值「建议收藏」

    理解逻辑回归中的ROC曲线和KS值「建议收藏」1.回归和分类任务分类和回归都属于监督学习(训练样本带有信息标记,利用已有的训练样本信息学习数据的规律预测未知的新样本标签)分类预测的结果是离散的(例如预测明天天气-阴,晴,雨)回归预测的任务是连续的(例如预测明天的温度,23,24,25度)分类中比较常用的是二分类(label结果为0或1两种)2.逻辑回归不是回归从名字来理解逻辑回归.在逻辑回归中,逻辑一词是logis…

    2022年5月16日
    50
  • Zencart模板结构和设计详解[通俗易懂]

    Zencart模板结构和设计详解[通俗易懂]
    ZenCart的设计很简单,和其他HTML页面是一样的。只是整个页面分成了几个部分,并加入了PHP代码。
    通常分为页眉(header),页脚(footer),边框(sideboxes)。页面通过CSS样式表来控制,样式表控制了包括表格单元的背景图案、字体颜色和样式等等,所以假如你需要修改边框标题栏的字体,那么就去查看样式表文件。
    ZenCart在页面添加图像有两种方式。可以使用图像目录的相对路径,或者在模板中用php变量定义图像。如果你使用https服

    2022年7月27日
    8
  • plsql development 注册码

    plsql development 注册码今天使用plsqldeveloper时,突然发现使用不了了,后面发现原来之前的那个都是使用版的,后面网上查阅了相关注册码,找到如下两个可以使用的,记录一下,方便自己,也方便大家。productcode:ke4tv8t5jtxz493kl8s2nn3t6xgngcmgf3serialNumber:264452password:xs374ca或者也可用下面这个productcode:4vkjwhfeh3ufnqnm…

    2022年7月24日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号