首页 > 编程语言 >并发编程理论

并发编程理论

时间:2022-11-17 20:23:01浏览次数:38  
标签:理论 编程 程序 cpu 并发 进程 执行 CPU

网络编程

  • 研究网络编程其实就是在研究计算机的底层原理

    计算机中 CPU 才是真正干活的人

并发编程理论

发展史:

1.穿孔卡片

一次只能给一个人使用电脑   cpu利用率极低

2.联机批处理系统

 一次性可以录入多个程序员编写的程序(eg:磁盘,硬盘)、 缩短了cpu等待的时间.不用反复等待程序录入的, 提高了cpu的利用率

3.脱机批处理系统

是现代计算机核心部件的雏形,极大地提升了CPU的利用率,

多道技术

单道技术

所有的程序排队执行,执行完一个程序才会执行下一个程序,过程中不能重合。
	浪费了资源,耗时长

多道技术

利用空闲的时间 提前准备其他数据,最大化的压榨CPU的性能提升利用率, 打工人想休息是不可能的

多道技术的两种状态:
1. 切换:
	运行中的程序有IO操作时,(输入\输出操作),此时cpu就会利用这个空档去执行另一个程序。
2. 保存:
	如果cpu利用空档去执行别的程序的时候,会把上一个程序保存,下次回来基于保存的进度 继续执行。

进程理论

  • 进程与程序的区别
1.程序:
	就是我们编写的代码还没运行起来 也称为:死代码
2.进程:
	系统当前正在运行的程序

进程的调度算法(重要)

1."FCFS 先来的先服务"
	如果我们手里有几个程序代码,有短的,有长的,如果长的先来了,那么占用时间比较长。 对短作业不友好。
2."短作业优先调度"
	顾名思义就是短的先来, 这样如果短的特别多对长的也不友好。
3."时间片轮转法+ 多级反馈队列"
	将时间均分给每个程序,根据进程时长短,在进行分级。
    等级越靠下表示耗时越长(代码很多),每次分级分到的时间就会越多优先级越低。   如果有新代码来了优先执行短代码

并行与并发

1.并行
	多个进程同时执行,就是多个cpu一起干活,单个cpu无法实现
2.并发
	多个进程看起来像同时执行
   这个过程就是让CPU在对个程序之间利用多道技术来回切换+保存状态
 单个CPU"(单核)"可以实现 多个CPU肯定也可以

    
 # 高并发和高并行
  高并发: 就是程序能够支持几个亿的并发量
        就是这几个亿的用户来到可以感受到自己被服务着的意思  eg: 12306
  高并行: 写的软件可以支持几个亿的并行(当然我们还是无法实现)
    支持几个亿的并行,就代表这个计算机要有几个亿的CPU,

进程的三状态

就绪态
	所有程序再被CPU执行之后都必须先进入就绪态等待
运行态
	CPU正在执行
阻塞态
	进程运行过程中出现了IO操作 阻塞态无法直接进入运行态 需要先进入就绪态。

标签:理论,编程,程序,cpu,并发,进程,执行,CPU
From: https://www.cnblogs.com/LiaJi/p/16900674.html

相关文章

  • 网络编程 黏包现象
    黏包问题1.服务端连续执行三次recv2.客户端连续执行三次send"""服务端一次性接收到了客户端三次的消息该现象称为黏包现象"""服务端:importsocketserver=sock......
  • 并发编程
    并发编程粘包现象1.粘包现象产生的本质sock.send(b'jason')data=client.recv(1024)print(data)对方只给了5个字符,但是后面我们返回是要返回1024个粘包现象的产......
  • 网络编程之黏包与struct模块、并发编程
    黏包现象1.服务端连续执行三次recv2.客户端连续执行三次send问题:服务端一次性接收到了客户端三次的消息,这种现象称为'黏包现象'黏包现象产生的原因1.不知道每次的数......
  • 并发编程理论
    操作系统发展史1.穿孔卡片阶段计算机很庞大,使用很麻烦,一次只能给一个人使用,期间很多时候计算机都不工作好处:程序员独占计算机,为所欲为 坏处:计算机利用率太低,浪费......
  • 并发编程理论之多道技术、进程
    并发编程理论之多道技术、进程操作系统的发展穿孔卡片1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应用程序......
  • C++PrimerPlus中文第六版第7章编程练习答案
    1、#include<iostream>usingnamespacestd;doublecomputeHarmonicMean(doublex,doubley);intmain(){doublex,y;cout<<"Entertwonumbers(x!=0......
  • 并发与进程
    并发编程理论研究网络编程其实就是在研究计算机的底层原理及发展史操作系统发展史 1.穿孔卡片阶段 计算机很庞大使用很麻烦一次只能给一个人使用期间很多时候计算......
  • 网络并发3
    今日内容详细粘包现象1.服务端连续执行三次recv2.客户端连续执行三次send问题:服务端一次性接收到了客户端三次的消息该现象称为'粘包现象'粘包现象产生的原因 1.......
  • 黏包 struct模块 进程理论进程的并行与并发
    今日内容黏包现象1.服务端连续三次执行recv2.客户端连续三次执行send问题:服务端一次性接收到了客户端三次消息该现象称为"黏包现象"黏包现象产生的原因 1.不知道......
  • 并发编程
    目录黏包现象struct模块struct.pack()struct.unpack()文件过大无法打包黏包问题解决黏包实战UDP协议(了解)操作系统发展史穿孔卡片阶段联机批处理系统脱机批处理系统并发......