第一题 简答题 1. 多线程和多进程模式有什么区别
在用两种模型开发服务程序时,分别有什么优缺点
采用长连接和短连接模式有什么区别
分别有什么优缺点
采用同步和异步模式有什么区别
分别有什么优缺点
(1)启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的
在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多次执行
实际上,这样的代码块就是线程体
线程是进程中乱序执行的代码流程
当多个线程同时运行的时候,这样的执行模式成为并发执行
对于一个进程中的多个线程来说,多个线程共享进程的内存块,当有新的线程产生的时候,操作系统不分配新的内存,而是让新线程共享原有的进程块的内存
因此,线程间的通信很容易,速度也很快
不同的进程因为处于不同的内存块,因此进程之间的通信相对困难
线程切换快,但实现稍复杂
进程易实现,较稳定,但性能与线程相比较差
(2)所谓长连接,指在一个 TCP 连接上可以连续发送多个数据包,在TCP 连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己 做 在线维持
短连接是指通信双方有数据交 互 时,就建 立 一个 TCP 连接,数据发送完 成后 ,则断 开此 TCP 连接,一般银 行都 使 用短连接
长连接多用于操作频 繁 ,点对点的通讯 ,而且连接数不能太 多情 况 ,
每 个 TCP连接都 需要三 步握 手 ,这需要时间,如果每 个操作都 是先 连接,再 操作的话 那 么处理 速度会降 低 很多,所以每 个操作完 后 都 不断 开,次处理 时直 接发送数据包就OK 了 ,不用建 立 TCP 连接
而像 WEB 网 站 的 http 服务一般都 用短链 接,因为长连接对于服务端 来说会耗 费 一定的资源,而像 WEB 网 站 这么频 繁 的成千 上万 甚 至上亿 客 户