设计并发服务器,使用多进程与多线程有什么区别?

时间:2020-11-19 17:38:02 笔试题目 我要投稿

设计并发服务器,使用多进程与多线程有什么区别?

  答案一:

  根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:

  1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。

  2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。

  3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。

  答案二:

  1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。

  2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的.其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

  两者都可以提高程序的并发度,提高程序运行效率和响应时间。

  线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

【设计并发服务器,使用多进程与多线程有什么区别?】相关文章:

WEB服务器与应用服务器有什么区别11-08

茴香与孜然有什么区别10-06

裸妆与淡妆有什么区别10-08

纹眉与绣眉有什么区别09-14

Linux下子进程与父进程的关系08-12

怎么使用代理服务器08-07

Flash与AE制作动画有什么区别09-09

专插本与专升本有什么区别05-13

蓝山咖啡与普通咖啡有什么区别09-14