博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上周学习内容回顾
阅读量:5834 次
发布时间:2019-06-18

本文共 1404 字,大约阅读时间需要 4 分钟。

1.Tcp粘包问题

2.udp

区别:不粘包,不可靠,传输效率高,适合数据量小的传输,不要求传输数据的顺序不需要建立链接

使用场景,对速度要求高,但是对数据完整性要求不高,dns,对战类游戏

网络编程:目前 无法并发处理多个客户端

进程:

一个正在运行中的程序称之为进程

进程来自于操作系统

在第三代操作系统中,诞生了多到技术

多道技术是为了提高计算机资源的利用率,第三代以前是穿行执行任务的批量处理方式

空间复用

同一时间段内在内存中储存多个程序的数据

内存区域要相互隔离,物理隔离,你是不可以随意访问的

时间复用

切换+保存

当一个进程遇到IO操作时,就切换其他进程来执行,切换之前要记录当前运行的状态

切换条件:

遇到IO操作

运行时间过长,时间片用完了

什么时候要开启进程

当执行一个任务时,执行时间过长,为了提高效率,我们就可以将这个任务交给子进程去完成

Linux与Windows开启子进程的区别

linux 会把数据完整copy给子进程 ,作为子进程的初始状态     windows 会重新导入父进程的代码来获取需要数据,这样一来创建进程的代码又被执行了一次,造成递归创建进程         所以要将开启子进程的代码放到 if __name__ == "__main__":中 保证创建进程的代码只被父进程执行 如何开启子进程     1.导入 multiprocessing 中的 Process         实例化Process类 用target来指定要执行任务函数         调用start来开启进程     2.创建一个类,继承Process,覆盖run方法,将任务代码放到run中 进程之间内存相互隔离 僵尸进程 有害     子进程结束了,父进程还在运行,子进程会占用pid 并且将保留最后的运行状态在内存中     在linux中 父进程需要调用wait/waitpid来获取子进程的残留信息,并清理它     python中已经封装好了 wait 操作不需要我们自己来清理     如果出现很多僵尸进程     清除僵尸进程的方法就是 杀死父进程 孤儿     父进程已经挂了 ,子进程还在运行,会被移交给操作系统来管理 常用属性:     join  父进程等待子进程运行结束   其实是提高子进程的优先级     is_alive 是否存活     getpid 获取自己的进程id     name 进程的名字     daemon     terminate  终止这个子进程    有延迟     start  启动进程  有延迟     因为开启和关闭进程 都是操作系统来完成 进程的状态     运行 -io>  阻塞  -> 就绪态     运行 -时间片用完了(运行时间过长)>  就绪态 阻塞     当程序遇到了IO操作,就进入了阻塞态 非阻塞     程序正在运行中,没有任何IO操作 指的是程序的运行状态 并行    多个程序同时运行,是真正的同时执行,仅在多核中会出现 并发     多个事件同时发生了,看起来像是都在运行,本质上是切换执行 程序员永恒的话题     提高程序的效率  减少IO 力求尽可能多占用CPU

转载于:https://www.cnblogs.com/huanghongzheng/p/10967713.html

你可能感兴趣的文章
CocurrentHashMap和Hashtable的区别
查看>>
几种更新(Update语句)查询的方法
查看>>
Network boot from AMD Am79C970A
查看>>
cocos2dx触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd
查看>>
SAE 上传根目录不存在!请尝试手动创建:./Uploads/Picture/
查看>>
IE8 XSS Filter Bypass
查看>>
JavaScript 中 substr 和 substring的区别
查看>>
应用程序框架实战七:分层架构的选择
查看>>
Android反编译(三) 之重签名
查看>>
【Debian】ftp安装
查看>>
横竖屏切换时不销毁当前activity 和 锁定屏幕
查看>>
在IT的路上,我在成长
查看>>
careercup-树与图 4.1
查看>>
【LeetCode】83. Remove Duplicates from Sorted List
查看>>
微软职位内部推荐-SDE II
查看>>
android 圆角按钮和按钮颜色
查看>>
440P 测试三星ssd840pro 512g
查看>>
快速掌握Android 虚拟机(AVD)方法
查看>>
【转】BLE_CC2540_初学者入门指导
查看>>
SOA_Oracle SOA Suite and BPM Suite 11g官方虚拟机安装指南(案例)
查看>>