udp和并发编程

udp与tcp不同 它不需要建立连接,自带报头,一对一发送,客户端传输发送消息给服务端的时候,会把自己的ip地址一起发送,因为它不需要建立连接 所以说 它比tcp的传输信息的效率更高,但是很容易丢包,稳定性不如tcp,而且只能传输512个字节的信息,大于512会大大增加丢包的概率 (底层原理就是,udp把发送的信息丢给自己的操作系统,操作系统根据互联网协议,把信息传输出去,发出去后,就会把内存里的数据 清空,数据丢了而tcp把发送的信息丢给自己的操作系统,操作系统传输后,在没有收到回复前,并不会把内存的数据清空,所以tcp比udp要稳定)

说并发编程前,我们要介绍个概念什么是进程?

进程就是一个正在执行的过程\程序

所以说进程是个抽象的概念,

这个概念起源操作系统

操作系统作用:1.把复杂丑陋的硬件操作都封装成美丽的接口,提供给应用程序使用

              2.把进程对硬件的竞争变的有序

操作系统的起源就是计算机的起源,我们就来简述一下,计算机的发展史

第一代计算机:

第一代计算机是用真空管 制作而成,而真空管易燃,所以需要经常更换,而且第一代计算机,不能多人用只能是一个人使用,这样计算机的效率太过低下,但是程序员,可以及时修该bug

第二代计算机:

第二代计算机把真空管,换成晶体管,并且计算机可以多人使用,它运用到穿孔卡片,将计算机分为三部分,先是读入一些程序到磁盘,然后通过人力,将磁盘放入一个特殊的程序(操作系统的前身),然后所有的程序都运行一遍后,输出结果,人力 打印

第二代计算器 比第一代计算机安全性更高了,相对于计算机效率更好了,相对于程序员编程的复杂度上升了 而且需要人力介入 很是很影响计算机的效率

第三带计算机:

第三代计算机实现集成电路芯片和多道程序设计,计算机彻底取代人力,并且质的提高了计算机和程序员的效率,

多道程序设计:多道技术的产生背景是想要在单个cpu的情况下,实现多个进程并发执行的效果

1.空间上的复用(多道程序复用的内存的空间)

2.时间上的复用(多道程序复用cpu时间)

         1、正在执行的进程遇到IO操作(提升效率)
         2、正在执行的进程占用cpu时间过程,或者有一个
         优先级更高的进程抢走的cpu的执行权限 (降低效率)

posted @ 2018-04-23 18:05  谎~言  阅读(494)  评论(0编辑  收藏  举报