欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下幾種并發(fā)服務(wù)器的實現(xiàn)模式(詳解)

 更新時間:2017年12月29日 09:08:19   作者:`leisure  
下面小編就為大家分享一篇Linux下幾種并發(fā)服務(wù)器的實現(xiàn)模式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1>單線程或者單進程

相當(dāng)于短鏈接,當(dāng)accept之后,就開始數(shù)據(jù)的接收和數(shù)據(jù)的發(fā)送,不接受新的連接,即一個server,一個client

不存在并發(fā)。

2>循環(huán)服務(wù)器和并發(fā)服務(wù)器

1.循環(huán)服務(wù)器:一個server只能一次只能接收一個client,當(dāng)當(dāng)前client結(jié)束訪問之后才能進行下一個client的連接。

2.并發(fā)服務(wù)器:一個server同一時間可以響應(yīng)很多客戶端的訪問。

3>select+多線程模式

并發(fā)服務(wù)器的三種實現(xiàn)方式

1.多進程并發(fā)服務(wù)器

是指TCP連接后,每一個客戶機的請求并不由服務(wù)器直接處理,而是由服務(wù)器創(chuàng)建一個子進程來處理

2.多線程并發(fā)服務(wù)器

多進程服務(wù)器是對多進程的服務(wù)器的改進,由于多進程服務(wù)器在創(chuàng)建進程時要消耗較大的系統(tǒng)資源,所以用線程來取代進程,這樣服務(wù)處理程序可以較快的創(chuàng)建。據(jù)統(tǒng)計,創(chuàng)建線程于創(chuàng)建進程要快10100倍,所以又把線程稱為“輕量級”進程。進程與進程不同的是:一個進程內(nèi)所有線程共享相同的全局內(nèi)存,全局變量等信息。

是指TCP連接后,每一個客戶機的請求并不由服務(wù)器直接處理,而是由服務(wù)器創(chuàng)

3.多路復(fù)用I/O

I/O是為了解決線程/進程阻塞在那個I/O調(diào)用中,常用select或者pool

4>epoll

在linux2.6之后有的epoll,實用的方法是:用一個線程專門進行端口的監(jiān)聽,accept接收到連接的時候,把連接設(shè)置成非阻塞方式,把epoll時間設(shè)置成邊緣觸發(fā)方式,加入epoll管理。接收線程阻塞在epoll的等待事件函數(shù)。另外一個線程專門用于數(shù)據(jù)發(fā)送。

注意:

1.如果把epoll設(shè)置成水平觸發(fā)效率就下降采用select的水平。

2.Unix系統(tǒng)下有單個進程打開的描述符的限制,還有系統(tǒng)內(nèi)打開的描述符的數(shù)目限制。系統(tǒng)內(nèi)打開的描述符數(shù)目限制由軟硬鏈接限制兩個。硬連接是根據(jù)機器的配置而不同。軟連接限制可以修改但是必須小于硬限制。

應(yīng)用:

Linux下大規(guī)模的TCP并發(fā)。

當(dāng)前并發(fā)還有其它的方式。比如線程池。進程池等,每種模式都有他的優(yōu)缺點,如果大規(guī)模的并發(fā),采用epoll會更好。

epoll的時間設(shè)置有邊緣觸發(fā)方式和水平觸發(fā)方式

1.水平觸發(fā)方式:

如果文件描述符已經(jīng)就緒可以非阻塞的執(zhí)行IO操作了,此時會觸發(fā)通知。允許在任意時候重復(fù)檢測IO的狀態(tài),沒有必要每次描述符就緒后盡可能多的執(zhí)行IO,select,poll就屬于水平觸發(fā)事件。

只要滿足要求就觸發(fā)一個事件。

2.邊緣觸發(fā)方式:

如果文件描述符自上次狀態(tài)改變后有新的IO活動到來,此時會觸發(fā)通知。在收到一個IO事件通知盡可能多的執(zhí)行IO操作,因為如果再一次通知中沒有執(zhí)行完IO那么就需要等到下一次新的IO活動到來才能獲取就緒的描述符。信號驅(qū)動式IO就屬于邊緣觸發(fā)。

每當(dāng)狀態(tài)改變就觸發(fā)一個事件。

eg:現(xiàn)在有一個1000個字節(jié)的報文,無論是水平觸發(fā)還是邊緣觸發(fā),都會發(fā)送一個只讀通知,當(dāng)收到了100個字節(jié)后,水平觸發(fā)因為還有字節(jié)沒有讀完,就會發(fā)送一個只讀通知,但是邊緣觸發(fā)會一直保持等待的通知,等待接下來的報文的到來,直到邊緣觸發(fā)返回EWOULDBLOCK就摒棄這個socket。

以上這篇Linux下幾種并發(fā)服務(wù)器的實現(xiàn)模式(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 探索Linux內(nèi)核:Kconfig的秘密

    探索Linux內(nèi)核:Kconfig的秘密

    今天小編就為大家分享一篇關(guān)于探索Linux內(nèi)核:Kconfig的秘密,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Linux:FTP工具及SSH遠(yuǎn)程連接工具的使用方式

    Linux:FTP工具及SSH遠(yuǎn)程連接工具的使用方式

    這篇文章主要介紹了Linux:FTP工具及SSH遠(yuǎn)程連接工具的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Linux配置實現(xiàn)免密鑰登錄過程解析

    Linux配置實現(xiàn)免密鑰登錄過程解析

    這篇文章主要介紹了Linux配置實現(xiàn)免密鑰登錄過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Linux執(zhí)行可執(zhí)行文件提示No such file or directory的解決方法

    Linux執(zhí)行可執(zhí)行文件提示No such file or directory的解決方法

    這篇文章主要介紹了Linux執(zhí)行可執(zhí)行文件提示No such file or directory的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Linux下如何編譯和執(zhí)行c/c++程序

    Linux下如何編譯和執(zhí)行c/c++程序

    這篇文章主要介紹了Linux下如何編譯和執(zhí)行c/c++程序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • cloudstack下libvirtd服務(wù)無響應(yīng)問題

    cloudstack下libvirtd服務(wù)無響應(yīng)問題

    這篇文章主要介紹了cloudstack下libvirtd服務(wù)無響應(yīng)問題的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • linux中alarm函數(shù)的實例講解

    linux中alarm函數(shù)的實例講解

    今天小編就為大家分享一篇關(guān)于linux中alarm函數(shù)的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Linux遠(yuǎn)程訪問及控制方式

    Linux遠(yuǎn)程訪問及控制方式

    SSH(Secure Shell)是一種協(xié)議,用于安全地通過不安全的網(wǎng)絡(luò)進行遠(yuǎn)程登錄和其他網(wǎng)絡(luò)服務(wù),OpenSSH是SSH協(xié)議的一種開源實現(xiàn),它支持?jǐn)?shù)據(jù)加密,能有效防止信息泄露,適用于多種操作系統(tǒng),SSH配置包括服務(wù)端和客戶端,可以通過密碼或密鑰對驗證方式進行身份驗證
    2024-09-09
  • CentOS 6.8 安裝vsftpd的方法步驟

    CentOS 6.8 安裝vsftpd的方法步驟

    這篇文章主要介紹了CentOS 6.8 安裝vsftpd的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • linux NFS安裝配置及常見問題、/etc/exports配置文件、showmount命令

    linux NFS安裝配置及常見問題、/etc/exports配置文件、showmount命令

    這篇文章主要介紹了linux NFS安裝配置及常見問題,介紹的也比較詳細(xì)特分享下,方便需要的朋友
    2014-07-07

最新評論