日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

并发服务器编程模型

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 并发服务器编程模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在并發服務器編程模型中,最簡單的就是父進程監聽外來連接請求,一旦請求到來,父進程fork()子進程處理連接,與外來客戶端進行交互。

此時通用的做法是:父進程copy自己的地址空間給子進程,此時子進程擁有與父進程相同的打開的文件描述符!即,父子進程都有一個監聽套接字、一個連接套接字。連接建立后,父進程關閉連接套接字,子進程關閉監聽套接字。

我們知道,調用close()關閉套接字會導致tcp發送FIN分節。


但是為什么父子進程關閉這兩個套接字沒有導致連接的斷開?

其實,在每個文件描述符或者套接字都有一個引用計數機制。只有當它的引用計數變為0的時候才會真正清理和釋放該套接字的資源。

還有一個問題就是,如果父進程從來都不關閉連接套接字那會怎么辦?

由于任何進程在任何時刻可擁有的打開著的描述符數量通常是有限制的。如果父進程不關閉連接套接字會導致套接字資源的耗盡,而且,沒有一個客戶連接會被終止。因為這些連接套接字的引用計數值永遠是1,不可能為0.

總結

以上是生活随笔為你收集整理的并发服务器编程模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。