网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
生活随笔
收集整理的這篇文章主要介紹了
网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>>
答案一:
1,進程:子進程是父進程的復制品。子進程獲得父進程數據空間、堆和棧的復制品。
2,線程:相對與進程而言,線程是一個更加接近與執行體的概念,它可以與同進程的其他線程共享數據,但擁有自己的棧空間,擁有獨立的執行序列。
兩者都可以提高程序的并發度,提高程序運行效率和響應時間。
線程和進程在使用上各有優缺點:線程執行開銷小,但不利于資源管理和保護;而進程正相反。同時,線程適合于在SMP機器上運行,而進程則可以跨機器遷移。
答案二:
根本區別就一點:用多進程每個進程有自己的地址空間(address space),線程則共享地址空間。所有其它區別都是由此而來的:
1。速度:線程產生的速度快,線程間的通訊快、切換快等,因為他們在同一個地址空間內。
2。資源利用率:線程的資源利用率比較好也是因為他們在同一個地址空間內。
3。同步問題:線程使用公共變量/內存時需要使用同步機制還是因為他們在同一個地址空間內。
轉載于:https://my.oschina.net/xyxlxd/blog/9730
總結
以上是生活随笔為你收集整理的网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android中可口的吐司,一种信息提示
- 下一篇: 数据源名称和 64 位操作系统