您的位置:首页 > 其它

多进程和多线程有什么区别

2012-06-15 17:03 232 查看


多进程和多线程有什么区别

在此引用面试题与大家分享,希望感兴趣的网友多提宝贵意见。

  网络编程中设计并发服务器时,使用多进程与多线程的区别?

  用多进程时每个进程都有自己的地址空间,线程则共享地址空间。(所有其他区别都是由此而来)

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

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

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

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

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

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

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: