亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: xxxxxxxp
打印 上一主題 下一主題

[C++] [換個地方發(fā)]請教大牛:異步io的優(yōu)點究竟在哪 [復(fù)制鏈接]

論壇徽章:
44
15-16賽季CBA聯(lián)賽之浙江
日期:2021-10-11 02:03:59程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-02 06:20:0015-16賽季CBA聯(lián)賽之新疆
日期:2016-04-25 10:55:452016科比退役紀(jì)念章
日期:2016-04-23 00:51:2315-16賽季CBA聯(lián)賽之山東
日期:2016-04-17 12:00:2815-16賽季CBA聯(lián)賽之福建
日期:2016-04-12 15:21:2915-16賽季CBA聯(lián)賽之遼寧
日期:2016-03-24 21:38:2715-16賽季CBA聯(lián)賽之福建
日期:2016-03-18 12:13:4015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-05 00:55:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-04 21:11:3615-16賽季CBA聯(lián)賽之天津
日期:2016-11-02 00:33:1215-16賽季CBA聯(lián)賽之浙江
日期:2017-01-13 01:31:49
41 [報告]
發(fā)表于 2013-01-21 17:16 |只看該作者
回復(fù) 39# starwing83

Leader/Follower倒不全是賣名詞,它畢竟和“線程池”還是有點區(qū)別的。

在一些OS上,如果一堆線程一起accept,在連接發(fā)生時會有驚群的現(xiàn)象,Leader/Follower Pattern限定只有Leader做accept,這樣能避免驚群。
不過現(xiàn)在的OS應(yīng)該都把這個問題解決了,所以干脆一堆線程一起accept效果也一樣,代碼也簡單。

PS. 奇怪啊,剛才試過s?怎么剛才不好使現(xiàn)在就好使了?

論壇徽章:
5
獅子座
日期:2013-08-20 10:12:24午馬
日期:2013-11-23 18:04:102015年辭舊歲徽章
日期:2015-03-03 16:54:152015亞冠之德黑蘭石油
日期:2015-06-29 18:11:1115-16賽季CBA聯(lián)賽之新疆
日期:2024-02-21 10:00:53
42 [報告]
發(fā)表于 2013-01-21 17:26 |只看該作者
回復(fù) 40# linux_c_py_php


    網(wǎng)上查了一下,Reactor不是單線程的干活么?有篇文章舉了個例子,就是說一個客人點餐的時候服務(wù)員可以離開,然后等點完了叫服務(wù)員就再回來。這不就是coroutine的原理么?本質(zhì)上就是協(xié)作式多線程了啊,那還加個p的鎖?

難道你說的Reactor和我搜到的含義不一樣?

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
43 [報告]
發(fā)表于 2013-01-21 17:31 |只看該作者
本帖最后由 linux_c_py_php 于 2013-01-21 17:33 編輯

最簡單的reactor就是每個線程都accept的, 但驚群弄得它基本不可用, 所以有apache那種架構(gòu)的單線程accept+queue+thread pool的reactor優(yōu)化版, 這一版和lf已經(jīng)相差無幾了.

starwing83 發(fā)表于 2013-01-21 17:26
回復(fù) 40# linux_c_py_php

論壇徽章:
44
15-16賽季CBA聯(lián)賽之浙江
日期:2021-10-11 02:03:59程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-02 06:20:0015-16賽季CBA聯(lián)賽之新疆
日期:2016-04-25 10:55:452016科比退役紀(jì)念章
日期:2016-04-23 00:51:2315-16賽季CBA聯(lián)賽之山東
日期:2016-04-17 12:00:2815-16賽季CBA聯(lián)賽之福建
日期:2016-04-12 15:21:2915-16賽季CBA聯(lián)賽之遼寧
日期:2016-03-24 21:38:2715-16賽季CBA聯(lián)賽之福建
日期:2016-03-18 12:13:4015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-05 00:55:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-04 21:11:3615-16賽季CBA聯(lián)賽之天津
日期:2016-11-02 00:33:1215-16賽季CBA聯(lián)賽之浙江
日期:2017-01-13 01:31:49
44 [報告]
發(fā)表于 2013-01-21 17:32 |只看該作者
本帖最后由 windoze 于 2013-01-21 17:32 編輯

回復(fù) 42# starwing83

Reactor本身只是一個多路分離器,后面可以跟一個線程池……好吧……一堆工作線程……

   

論壇徽章:
5
獅子座
日期:2013-08-20 10:12:24午馬
日期:2013-11-23 18:04:102015年辭舊歲徽章
日期:2015-03-03 16:54:152015亞冠之德黑蘭石油
日期:2015-06-29 18:11:1115-16賽季CBA聯(lián)賽之新疆
日期:2024-02-21 10:00:53
45 [報告]
發(fā)表于 2013-01-21 17:33 |只看該作者
回復(fù) 43# linux_c_py_php


    ……還是沒覺得這貨有啥技術(shù)含量= =

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
46 [報告]
發(fā)表于 2013-01-21 17:33 |只看該作者
沒錯, 完全沒技術(shù)含量, 但在當(dāng)初那個時候它總結(jié)出來寫了個paper, 就有了倆顯得很牛逼的名字.

starwing83 發(fā)表于 2013-01-21 17:33
回復(fù) 43# linux_c_py_php

論壇徽章:
5
獅子座
日期:2013-08-20 10:12:24午馬
日期:2013-11-23 18:04:102015年辭舊歲徽章
日期:2015-03-03 16:54:152015亞冠之德黑蘭石油
日期:2015-06-29 18:11:1115-16賽季CBA聯(lián)賽之新疆
日期:2024-02-21 10:00:53
47 [報告]
發(fā)表于 2013-01-21 17:35 |只看該作者
回復(fù) 44# windoze


    這么說我懂了。其實我說的方法就是一個reactor的變形。

用一個線程池做多路的accept(反正現(xiàn)在沒驚群問題了= =)然后能處理的處理,不能處理的往隊列扔。隊列滿了就等~(或者加內(nèi)存= =)另一個線程池從隊列取數(shù)據(jù),然后開始處理,和IO什么的不沾邊。

如果是純數(shù)據(jù)流的話,做成共享內(nèi)存的兩個進程都行。

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
48 [報告]
發(fā)表于 2013-01-21 17:40 |只看該作者
在reactor的基礎(chǔ)上, 還有每個線程epoll監(jiān)聽一堆的fd的寫法(memcached), 不過在最初沒有epoll的時候(select默認(rèn)也就撐前1024個fd吧), 一個線程處理一個fd使用
SO_RCVTIMEO選項阻塞讀得年代... reactor和lf算是網(wǎng)絡(luò)編程的正解吧- -


linux_c_py_php 發(fā)表于 2013-01-21 17:33
沒錯, 完全沒技術(shù)含量, 但在當(dāng)初那個時候它總結(jié)出來寫了個paper, 就有了倆顯得很牛逼的名字.

論壇徽章:
44
15-16賽季CBA聯(lián)賽之浙江
日期:2021-10-11 02:03:59程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-02 06:20:0015-16賽季CBA聯(lián)賽之新疆
日期:2016-04-25 10:55:452016科比退役紀(jì)念章
日期:2016-04-23 00:51:2315-16賽季CBA聯(lián)賽之山東
日期:2016-04-17 12:00:2815-16賽季CBA聯(lián)賽之福建
日期:2016-04-12 15:21:2915-16賽季CBA聯(lián)賽之遼寧
日期:2016-03-24 21:38:2715-16賽季CBA聯(lián)賽之福建
日期:2016-03-18 12:13:4015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-05 00:55:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-04 21:11:3615-16賽季CBA聯(lián)賽之天津
日期:2016-11-02 00:33:1215-16賽季CBA聯(lián)賽之浙江
日期:2017-01-13 01:31:49
49 [報告]
發(fā)表于 2013-01-21 18:02 |只看該作者
本帖最后由 windoze 于 2013-01-21 18:03 編輯

回復(fù) 47# starwing83

這樣的做法就叫HSHA(Half-Sync-Half-Async,木辦法,再賣個名詞),
LF和它的區(qū)別就在于LF沒有中間的那個queue,也沒有一個/一組專門的IO線程。
LF的做法是,哪個是Leader哪個就輪上去做IO,拿到一塊數(shù)據(jù)就退休,把Leader交給某一個Follower,自己去干活,干完了之后再作為Follower給在當(dāng)前的Leader屁股后面。
HSHA的做法是,一個/一組IO線程做IO,拿到數(shù)據(jù)就扔到一個queue里,queue后面有一堆工作線程/進程等著干活。

論壇徽章:
5
獅子座
日期:2013-08-20 10:12:24午馬
日期:2013-11-23 18:04:102015年辭舊歲徽章
日期:2015-03-03 16:54:152015亞冠之德黑蘭石油
日期:2015-06-29 18:11:1115-16賽季CBA聯(lián)賽之新疆
日期:2024-02-21 10:00:53
50 [報告]
發(fā)表于 2013-01-21 18:06 |只看該作者
回復(fù) 49# windoze


    Good……我估計是學(xué)網(wǎng)頁制作的文科生太多了…………

不過我想的辦法有了一個名字,而且和4G標(biāo)準(zhǔn)如此之象,我深感欣慰

那么,LF/Reactor/HSHA這三種方法之間如何比較呢?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP