多道技术,阻塞非阻塞,同步异步,udp,tcp,孤儿僵尸进程
理论上一个cpu一个进程但是有多道技术使得可以同时几个,类似的一个cpu核心对应一个线程
多道技术适用于单核
极短时间内切换任务伪装成并行
同步异步
同步即执行完一个任务才会去执行下一个
异步的话执行过程时候不能立即得到结果,等到结果时通过回调,状态或者通知使得调用者知道
阻塞非阻塞
i/o是一种阻塞,等待响应进行的就是阻塞,执行过程中系统某事件导致不能进行然后等待
出现阻塞立即转到其他任务就是非阻塞,挂起当前进程就是暂时清除出内存
有人会把阻塞调用和同步调用等同起来,实际上他是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数
没有返回而已。
tcp有三次握手,四次挥手,慢,稳定,有粘包现象,有确定的机制使得被DOS、DDOS、CC等攻击
udp快,安全,无连接,不可靠
基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流模式与数据报模式 ;
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
、TCP首部开销20字节;UDP的首部开销小,只有8个字节适用视频
udp使用时可以多个客户端发给服务端,而tcp需要处理开启多线程
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程