开发者社区> 流楚丶格念> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Windows技术篇——进程、线程、消息机制进程间通信

简介: Windows技术篇——进程、线程、消息机制进程间通信
+关注继续查看

概念


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内部采用多线程)。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Windows编程——消息机制
Windows编程——消息机制
16 0
多线程必考的「生产者 - 消费者」模型,看齐姐这篇文章就够了
生产者 - 消费者模型 Producer-consumer problem 是一个非常经典的多线程并发协作的模型,在分布式系统里非常常见。也是面试中无论中美大厂都非常爱考的一个问题,对应届生问的要少一些,但是对于有工作经验的工程师来说,非常爱考。 这个问题有非常多的版本和解决方式,在本文我重点是和大家壹齐理清思路,由浅入深的思考问题,保证大家看完了都能有所收获。
33 0
如何通过RPA技术实现企业流程自动化革命?
更多公司正在转向机器人过程自动化,以消除繁琐的任务,使企业员工能够专注于更高价值的工作。 专家表示,如果要支持业务,RPA需要适当的设计,规划和治理。
1910 0
进程间通信:消息队列
http://blog.csdn.net/ljianhui/article/details/10287879   #include #include #include int msgget(key_t key, int flag);int msgsnd(int msqid, const void *...
681 0
windows 查看端口号,杀进程
查看端口号: 开始--运行--cmd netstat –and 杀进程: windows任务管理器         查看--显示列—PID 相关知识: 一台机器的80端口被httpd (apache)监听了,则该端口不能再被其他的应用程序监听 1--1024号端口,一般都已经被使用,所以我们指定端口时,要避开这些。
565 0
+关注
流楚丶格念
csdn平台优质创作者,51cto TOP博主,360图书馆科技博主,燕山大学目前大三在读,日拱一卒,功不唐捐,加油!!!
1010
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载