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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

并发服务器编程模型

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

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

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

我們知道,調(diào)用close()關(guān)閉套接字會導(dǎo)致tcp發(fā)送FIN分節(jié)


但是為什么父子進程關(guān)閉這兩個套接字沒有導(dǎo)致連接的斷開?

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

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

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。