我正在用C编写一个简单的客户服务器。制作多进程服务器而不是多线程服务器的优点是什么?多进程服务器或多线程服务器?
-3
A
回答
1
如果不知道你的平台,这是不现实的答案。传言表明,在Windows上启动新进程非常昂贵,但开始新线程几乎是免费的。所以如果性能是唯一的考虑因素,Windows环境更喜欢线程。
在Linux上,线程是作为新进程的特殊情况变体实现的。他们几乎都是免费的。选择哪一个会导致长期的最佳代码。
在其他平台上,线程可能更昂贵 - 或者可能无法使用多个处理器。在这些平台上,选择进程。
当然,这不仅仅是纯粹的表现。 很好,关于shared-nothing designs - 如果您从程序中删除所有共享数据,可以极大地降低同时访问这些数据结构的代码段中可能出现的错误。此外,由于进程不共享运行时内存,因此危害一个进程的攻击者可能无法控制其他进程。 (或者,这可能更困难。)线程只会让攻击者阅读任何想要的内容。
0
优点使得多进程服务器,而不是多线程之一的:
各处理的受保护存储器空间防止一个过程存储的不希望的损坏,从另一个。
缺点使得多进程服务器,而不是多线程之一的:
各处理的受保护存储器空间防止期望的一个过程和另一个之间的直接通信。
看看你的要求,你挑..
相关问题
- 1. 多线程Web服务器
- 2. Java服务器多线程
- 3. 多线程服务器Java
- 4. TCP多线程服务器
- 5. 多线程服务器
- 6. 多进程网络服务器vs多线程网络服务器?
- 7. 多线程服务器:SwingWorker Vs线程?
- 8. 线程加入多线程服务器
- 9. 多线程/多进程窗口服务
- 10. 退出多线程/多进程的Web服务器
- 11. 多线程Web应用程序与多线程Web服务器
- 12. 多线程回声服务器
- 13. Java多线程服务器套接字
- 14. 测试多线程UDP服务器(Java)
- 15. 调试多线程服务器
- 16. 多线程彗星服务器库
- 17. C++中的多线程Web服务器
- 18. GWT(服务器端)多线程可能
- 19. 客户端 - 服务器多线程
- 20. 多线程的Java Web服务器
- 21. Windows服务计时器多线程
- 22. 多线程服务器问题
- 23. Java多线程服务器客户端
- 24. 多线程聊天服务器
- 25. 具有多线程的C++服务器
- 26. 多线程服务器不工作
- 27. C中的多线程TCP服务器
- 28. Python的多线程服务器XMLRPC(?)
- 29. 多线程客户端服务器
- 30. 多线程服务器发送功能
你经过研究,了解进程和线程,你不需要问这个问题。 – 2012-03-14 11:16:30