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