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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
樓主: csumck
打印 上一主題 下一主題

[技術(shù)動(dòng)態(tài)] 今天聽(tīng)說(shuō)了騰訊一個(gè)很牛逼的技術(shù), 求問(wèn)是怎么實(shí)現(xiàn)的 [復(fù)制鏈接]

論壇徽章:
0
21 [報(bào)告]
發(fā)表于 2014-08-05 19:32 |只看該作者
協(xié)程,這東西還是挺好的。
lua,python,C#等很多語(yǔ)言都內(nèi)建。
C++實(shí)現(xiàn)起來(lái)還是相對(duì)麻煩,boost去年才在1.53版本加入coroutine庫(kù)。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
22 [報(bào)告]
發(fā)表于 2014-08-05 19:57 |只看該作者
多謝各位啊, 協(xié)程沒(méi)用過(guò)啊, 大概看了一下介紹一頭霧水....

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:032015年亞洲杯之中國(guó)
日期:2015-04-22 15:52:45
23 [報(bào)告]
發(fā)表于 2014-08-06 01:34 |只看該作者
哎, 請(qǐng)google關(guān)鍵字"協(xié)程", 主要原理就是swapcontext等四個(gè)glibc的函數(shù).
(多說(shuō)一句, 就是在應(yīng)用態(tài)切換堆棧罷了, 沒(méi)啥高深的)
你肯定聽(tīng)說(shuō)的是微信的libco, 那貨封裝矬的一B.

如果和我一樣是用C++寫復(fù)雜的業(yè)務(wù)邏輯的, 協(xié)程是個(gè)好東西.

論壇徽章:
0
24 [報(bào)告]
發(fā)表于 2014-08-06 03:52 |只看該作者
騰訊里頭高手很多的~~~

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
25 [報(bào)告]
發(fā)表于 2014-08-06 05:57 來(lái)自手機(jī) |只看該作者
在windows中就是纖程fiber,很早就有了。

論壇徽章:
15
射手座
日期:2014-11-29 19:22:4915-16賽季CBA聯(lián)賽之青島
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16賽季CBA聯(lián)賽之四川
日期:2017-02-07 21:08:572015年亞冠紀(jì)念徽章
日期:2015-11-06 12:31:58每日論壇發(fā)貼之星
日期:2015-08-04 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-04 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-12 22:20:002015亞冠之浦和紅鉆
日期:2015-07-08 10:10:132015亞冠之大阪鋼巴
日期:2015-06-29 11:21:122015亞冠之廣州恒大
日期:2015-05-22 21:55:412015年亞洲杯之伊朗
日期:2015-04-10 16:28:25
26 [報(bào)告]
發(fā)表于 2014-08-07 10:32 |只看該作者
本帖最后由 yulihua49 于 2014-08-07 10:54 編輯
井蛙夏蟲(chóng) 發(fā)表于 2014-08-03 16:13
boost thread里面的future與這相似(c++11也有),不過(guò)這個(gè)線程還是處于阻塞狀態(tài),必須等待異步執(zhí)行完畢才能繼 ...

同感,對(duì)于本線程而言,就是同步的。
若真想實(shí)現(xiàn)線程異步,流程必定完全改變。
一個(gè)任務(wù),可能就不是僅僅由過(guò)程來(lái)表述,而是由CONTEXT,或者叫做TCB(Task Control Block)來(lái)表述。
每個(gè)執(zhí)行片段(函數(shù))處理TCB一個(gè)階段的作業(yè),遇到需要等待資源時(shí),就設(shè)置狀態(tài)(任務(wù)完成到哪,等待什么事件,下一步由哪個(gè)函數(shù)進(jìn)行處理...),拋出TCB到事件,然后本函數(shù)(線程)就可以返回了,進(jìn)行下一個(gè)任務(wù)(為下一個(gè)TCB服務(wù))。

把一個(gè)異步過(guò)程,封裝成同步,那就是同步的,沒(méi)有得到異步的任何好處。

論壇徽章:
0
27 [報(bào)告]
發(fā)表于 2014-08-07 19:27 來(lái)自手機(jī) |只看該作者
協(xié)程并不是阻塞的,一般的異步是你提供個(gè)回調(diào)函數(shù),處理完了就回調(diào)你這個(gè)函數(shù)。那么協(xié)程你就不需要提供回調(diào)函數(shù),將原來(lái)回調(diào)函數(shù)的代碼寫在調(diào)用點(diǎn)的下面就可以了。異步處理完后,會(huì)突然跳到這個(gè)函數(shù)的異步調(diào)用點(diǎn)后面接著執(zhí)行,像跨函數(shù)跳轉(zhuǎn)。也就是異步的代碼看起來(lái)像是同步的寫法,雖然整個(gè)過(guò)程還是異步的,但代碼直觀點(diǎn)。

論壇徽章:
36
子鼠
日期:2013-08-28 22:23:29黃金圣斗士
日期:2015-12-01 11:37:51程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-14 06:20:00CU十四周年紀(jì)念徽章
日期:2015-12-22 16:50:40IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-25 06:20:0015-16賽季CBA聯(lián)賽之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16賽季CBA聯(lián)賽之福建
日期:2016-04-07 11:25:2215-16賽季CBA聯(lián)賽之青島
日期:2016-04-29 18:02:5915-16賽季CBA聯(lián)賽之北控
日期:2016-06-20 17:38:50技術(shù)圖書(shū)徽章
日期:2016-07-19 13:54:03程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-21 06:20:00
28 [報(bào)告]
發(fā)表于 2014-08-07 22:40 |只看該作者
回復(fù) 27# Fixend


    其他語(yǔ)言的不知道,lua的協(xié)程是阻塞的吧。。

    lua的協(xié)程,沒(méi)覺(jué)得哪里好用,除了寫起來(lái)費(fèi)勁看上去不如回調(diào)清晰,沒(méi)覺(jué)得有什么牛逼的地方,好雞肋的趕腳。。。

論壇徽章:
36
子鼠
日期:2013-08-28 22:23:29黃金圣斗士
日期:2015-12-01 11:37:51程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-14 06:20:00CU十四周年紀(jì)念徽章
日期:2015-12-22 16:50:40IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-25 06:20:0015-16賽季CBA聯(lián)賽之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16賽季CBA聯(lián)賽之福建
日期:2016-04-07 11:25:2215-16賽季CBA聯(lián)賽之青島
日期:2016-04-29 18:02:5915-16賽季CBA聯(lián)賽之北控
日期:2016-06-20 17:38:50技術(shù)圖書(shū)徽章
日期:2016-07-19 13:54:03程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-21 06:20:00
29 [報(bào)告]
發(fā)表于 2014-08-07 22:44 |只看該作者
回復(fù) 27# Fixend


    或者說(shuō),lua的協(xié)程看上去像是到別處執(zhí)行去了,但本質(zhì)還是單線程,除了看上去很美,并不如阻塞來(lái)得直觀

論壇徽章:
0
30 [報(bào)告]
發(fā)表于 2014-08-09 08:08 |只看該作者
回復(fù) 29# cokeboL

協(xié)程并不是線程,單線程的情況下,你不yield一下放棄執(zhí)行權(quán),其他部分當(dāng)然就不會(huì)執(zhí)行。
假設(shè)有如下lua代碼:
co = coroutine.create(function()
     -- 1) 調(diào)用一個(gè)異步操作
     -- ...

     -- 2) 放棄執(zhí)行權(quán)
     coroutine.yield()
     
     -- 3) 處理結(jié)果
end)

我可以在放棄執(zhí)行權(quán)后返回到主coroutine中繼續(xù)進(jìn)行其他操作,直到收到某個(gè)事件,
或者輪詢到某個(gè)狀態(tài)才調(diào)用coroutine.resume(co)讓代碼進(jìn)行從3)處執(zhí)行。
阻塞的話,你就堵死在那里了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP