首页 > 编程语言 >网络编程之并发编程

网络编程之并发编程

时间:2022-11-17 20:57:43浏览次数:41  
标签:计算机 编程 程序 网络 并发 进程 CPU

并发编程理论

操作系统发展史
	1.穿孔卡片阶段
  	计算机很庞大 使用很麻烦 一次只能给一个人使用 期间很多时候计算机都不工作
    	好处:程序员独占计算机 为所欲为
  		坏处:计算机利用率太低 浪费资源
  2.联机批处理系统
  		提前使用磁带一次性录入多个程序员编写的程序 然后交给计算机执行
    	CPU工作效率有所提升 不用反复等待程序录入
	3.脱机批处理系统
  		极大地提升了CPU的利用率
			总结:CPU提升利用率的过程

多道技术

1.单道技术:
		所有程序排队执行,过程中不能重复
2.多道技术
		利用空闲时间提前准备其他数据,最大化提升CPU利用率

多道技术详细:
		1.切换
  		计算机的CPU在两种情况下会切换,(1.不让你用,2.给别人用)
    		程序中有IO操作的,
      	输入/输出操作
      	input | time.sleep | read | write
      程序长时间占用CPU
    		CPU雨露均沾,新程序开始 或者 老程序,都会不间断去运行一下
    2.保存状态
    	CPU每次切换走之前都需要保存当前操作的状态,下次切换回来基于上次的进度
      继续进行
      
'''
开了一家饭店 只有一个服务员 但是同时来了五桌客人
请问:如何让五桌客人都感觉到服务员在服务他们
让服务员化身为闪电侠 只要客人有停顿 就立刻切换到其他桌 如此往复
先给客人0.2秒看菜单,然后谁要点菜了再过去
'''     

进程理论

进程与程序的区别
		程序:一堆死代码 还没有被启动运行起来
  	进程:正在运行的程序 代码跑起来了
    
进程的调度算法:
	1.FCFS(先来先服务)
			对短作业不友好
    2.短作业优先调度
    	对长作业不友好
   	3.时间片转轮法 + 多级反馈队列(目前大部分计算机正在使用的算法)
    	将时间均分,例如给所有启动的程序0.2秒启动时间,然后再根据进程时间的长短
      再划分多个等级,给你0.2秒然后你没启动 走一圈回来cpu再给你1秒 然后再去照顾其
	  他程序,耗费时间越久的程序每次分到的时间越多,但优先级越低
      

并行与并发

并行
	多个进程同时执行,必须要有多个CPU参与,单个CPU无法实现并行
并发
	多个进程看上去像同时执行,单个CUP可以实现
  
程序是无法实现多并行的
程序是可以实现高并发的,优秀的项目追求的也是更高的支持并发

ps:目前国内支持高并发最牛的软件是 铁路12306

进程的三状态

就绪态
		所有的进程在被CPU执行之前都必须先进入就绪等待状态
运行态
		CPU正在执行
阻塞态
		进程运行中出现了IO操作,然后就会进入阻塞态,CPU就会先去处理其他程序,IO操作完成后 再进入 就绪态 等待CPU再过来执行

标签:计算机,编程,程序,网络,并发,进程,CPU
From: https://www.cnblogs.com/moongodnnn/p/16900901.html

相关文章

  • 进入python的世界_day33_网络编程—— 黏包现象、UDP协议、并发编程理论
    一、黏包现象1.何为黏包​ 流逝协议:所有的数据类似于水流连接在一起的​ 数据量很小并且时间间隔很多那么就会自动组织到一起recv​ 我们不知道即将要接收的......
  • 粘包、struct模块、进程并行与并发
    目录粘包现象struct模块粘包代码实战udp协议(了解)并发编程理论多道技术进程理论进程并行与并发进程的三状态粘包现象1.服务端连续执行三次recv2.客户端连续执行三次sen......
  • 黏包现象、struct模块和解决黏包问题的流程、UDP协议、并发编程理论、多道程序设计技
    目录黏包现象二、struct模块及解决黏包问题的流程三、粘包代码实战UDP协议(了解)并发编程理论多道技术进程理论进程的并行与并发进程的三状态黏包现象什么是粘包1.服务......
  • 计算机网络——并发编程理论、多道技术、进程理论、进程的并行与并、进程的三状态
    计算机网络——并发编程理论、多道技术、进程理论、进程的并行与并、进程的三状态一、并发编程理论"""计算机中真正干活的是CPU"""操作系统发展史 1.穿孔卡片阶段......
  • 并发编程理论
    网络编程研究网络编程其实就是在研究计算机的底层原理计算机中CPU才是真正干活的人并发编程理论发展史:1.穿孔卡片一次只能给一个人使用电脑cpu利用率极低......
  • 网络编程 黏包现象
    黏包问题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年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应用程序......