最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1>單線程或者單進程

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

不存在并發(fā)。

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

1.循環(huán)服務(wù)器:一個server只能一次只能接收一個client,當當前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ā)。

當前并發(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ā)。

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

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

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

相關(guān)文章

  • 虛擬機使用PuTTY、SSH Secure Shell Client前的配置

    虛擬機使用PuTTY、SSH Secure Shell Client前的配置

    這篇文章主要介紹了虛擬機使用PuTTY、SSH Secure Shell Client前的配置的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • linux之如何查看進程占用網(wǎng)速和流量使用情況

    linux之如何查看進程占用網(wǎng)速和流量使用情況

    這篇文章主要介紹了linux之如何查看進程占用網(wǎng)速和流量使用情況,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 騰訊云服務(wù)器部署前后分離項目之前端部署

    騰訊云服務(wù)器部署前后分離項目之前端部署

    本文主要介紹了騰訊云服務(wù)器部署前后分離項目之前端部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Apache下通過shell腳本提交網(wǎng)站404死鏈的方法

    Apache下通過shell腳本提交網(wǎng)站404死鏈的方法

    這篇文章主要介紹了Apache下通過shell腳本提交網(wǎng)站404死鏈,需要的朋友可以參考下
    2017-09-09
  • Linux修改主機名(hostname)的兩種方法(親測可用)

    Linux修改主機名(hostname)的兩種方法(親測可用)

    要想在虛擬機的 Linux 系統(tǒng)內(nèi)部改變主機名(hostname),需要通過系統(tǒng)的配置來修改,在大多數(shù)基于 Red Hat 的 Linux 發(fā)行版(比如 CentOS、Fedora)中,本文小編給大家介紹了;兩種修改主機名的方法,感興趣的小伙伴跟著小編一起來看看吧
    2023-11-11
  • Ubuntu 16.04備份和恢復(fù)小結(jié)

    Ubuntu 16.04備份和恢復(fù)小結(jié)

    一開始想借助于第三方的備份恢復(fù)工具來完成當前的Ubuntu 16.04系統(tǒng)的備份以及后面的還原工作,不過考慮到那樣做比較麻煩,索性就使用tar工具直接備份得了。這篇文章給大家詳細介紹了Ubuntu 16.04備份和恢復(fù)的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • Linux中Netcat工具的使用方式

    Linux中Netcat工具的使用方式

    這篇文章主要介紹了Linux中Netcat工具的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Linux編譯優(yōu)化必須掌握的幾個姿勢總結(jié)

    Linux編譯優(yōu)化必須掌握的幾個姿勢總結(jié)

    內(nèi)核是操作系統(tǒng)的核心,也是操作系統(tǒng)最基本的部分。下面這篇文章主要給大家總結(jié)介紹了關(guān)于Linux編譯優(yōu)化必須掌握的幾個姿勢,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-09-09
  • 安裝ubuntu18.04報:failed to load ldlinux.c32的問題及解決步驟

    安裝ubuntu18.04報:failed to load ldlinux.c32的問題及解決步驟

    這篇文章主要介紹了安裝ubuntu18.04報:failed to load ldlinux.c32的問題,本文通過圖文并茂的形式給大家分享解決方法,需要的朋友可以參考下
    2020-08-08
  • linux磁盤管理知識匯總

    linux磁盤管理知識匯總

    這篇文章主要介紹了linux磁盤管理知識匯總的相關(guān)資料,需要的朋友可以參考下
    2018-08-08

最新評論

沙洋县| 卢龙县| 大同市| 定西市| 安乡县| 永胜县| 固阳县| 南皮县| 蒙城县| 旌德县| 湖南省| 云和县| 诸暨市| 普陀区| 敦化市| 三门县| 池州市| 泰和县| 香河县| 张北县| 平凉市| 咸丰县| 汉川市| 峡江县| 湖口县| 乌拉特后旗| 萍乡市| 盖州市| 历史| 天等县| 纳雍县| 光山县| 岳池县| 大安市| 潢川县| 太和县| 黄梅县| 同心县| 上饶县| 沂水县| 视频|