网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
2010-11-09 23:54
1301 查看
答案一:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
答案二:
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
答案二:
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。
相关文章推荐
- 网络编程中设计并发服务器,使用多进程与多线程有什么区别?
- 设计并发服务器,使用多进程与多线程有什么区别?
- 网络编程实验3-并发多线程服务器设计
- 网络编程学习_简单的多进程并发服务器/客户端
- linux网络编程----->高并发--->多线程并发服务器
- linux网络编程之多线程多进程服务器与进程线程池
- Linux网络编程——tcp并发服务器(多进程)
- 利用python编写设计多线程web服务器(计算机网络_自顶向下第六版_第二章1和4的编程作业)
- 使用ConcurrentQueue并发集合来设计网络服务器端
- Linux网络编程之多进程模型编程与一个使用进程池实现的CGI服务器
- 【嵌入式Linux学习七步曲之第七篇 Linux的高级应用编程】网络编程中并发服务器的设计模式
- 【Linux的高级应用编程】网络编程中并发服务器的设计模式
- Linux下网络编程之自定义协议进行并发多客户端与服务器的通信(多进程处理并发)不足占用资源太多
- 网络编程(6)单进程多线程并发服务器实现
- 【Unix 网络编程】服务器网络编程模型——多线程并发模型
- 什么时候该使用多线程,以及更恰当的多线程编程方法之讨论
- 网络编程之并发服务器,分布服务器
- 高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少
- 常见多线程并发服务器编程模型
- 关于C#多线程、网络编程与计时器Timer的一点使用心得