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

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

Chinaunix

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

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

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-08-02 15:04 |只看該作者 |倒序?yàn)g覽
聽(tīng)說(shuō)他們有個(gè)庫(kù)可以很方便的把阻塞接口的調(diào)用替換成異步接口調(diào)用的代碼.
比如有段阻塞式的查詢代碼是如下這樣的:

  1. get_request();//獲取請(qǐng)求
  2. do_blocked_query();//調(diào)用阻塞接口進(jìn)行查詢
  3. reply();//給出響應(yīng)
復(fù)制代碼
使用了他這個(gè)庫(kù)后,代碼變成類似這樣:

  1. get_request();//獲取請(qǐng)求
  2. do_nonblock_query();//調(diào)用異步接口進(jìn)行查詢
  3. reply();//給出響應(yīng)
復(fù)制代碼
神奇的是, 只是調(diào)用的接口換成了異步接口, 其他代碼沒(méi)什么變化, 整個(gè)代碼看上去還是順序執(zhí)行的.
這種是怎么實(shí)現(xiàn)的? 難道異步接口里保存了調(diào)用棧之類的東西, 所以操作完成后可以回到以前的代碼里順序執(zhí)行?

這種玩意有沒(méi)有開(kāi)源實(shí)現(xiàn)的?

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
2 [報(bào)告]
發(fā)表于 2014-08-02 15:15 |只看該作者
如果是我,我會(huì)如此實(shí)現(xiàn)非阻塞:
將函數(shù)轉(zhuǎn)換為命令,排入核心中的命令隊(duì)列中。由核心按照命令隊(duì)列依次運(yùn)行,并保存結(jié)果,發(fā)送通知消息。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
3 [報(bào)告]
發(fā)表于 2014-08-02 15:25 |只看該作者
回復(fù) 2# cobras


    你說(shuō)的這個(gè)方法很好, 沒(méi)問(wèn)題的.
    我想問(wèn)的是騰訊這個(gè)是怎么實(shí)現(xiàn)的, 這種實(shí)現(xiàn)讓調(diào)用者可以用同步的代碼寫(xiě)出異步的效果, 用起來(lái)相當(dāng)舒服.

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
4 [報(bào)告]
發(fā)表于 2014-08-02 15:30 |只看該作者
你沒(méi)發(fā)現(xiàn)上層代碼沒(méi)有參數(shù)嗎?
這種代碼實(shí)際就是布置任務(wù)。
跟低層使用什么方式?jīng)]有關(guān)系。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
5 [報(bào)告]
發(fā)表于 2014-08-02 16:04 |只看該作者
回復(fù) 4# cobras


    你說(shuō)的那種方式, 查詢完成后一定是通過(guò)回調(diào)函數(shù)去發(fā)送響應(yīng)的. 而這種方式是不需要回調(diào)函數(shù)的, 在代碼上跟阻塞調(diào)用是一樣的, 對(duì)于剛剛接受網(wǎng)絡(luò)編程的新手來(lái)說(shuō), 這種方式使他們完全不需要理解什么同步異步的概念, 因?yàn)榭瓷先ゴa就是順序執(zhí)行的.

論壇徽章:
154
2022北京冬奧會(huì)紀(jì)念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16賽季CBA聯(lián)賽之深圳
日期:2022-11-02 14:02:4515-16賽季CBA聯(lián)賽之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16賽季CBA聯(lián)賽之八一
日期:2023-11-04 19:23:5115-16賽季CBA聯(lián)賽之廣夏
日期:2023-12-13 18:09:34
6 [報(bào)告]
發(fā)表于 2014-08-02 16:22 |只看該作者
do_blocked_query()
一個(gè)api+參數(shù)的問(wèn)題,竟然搞出了兩個(gè)函數(shù)出來(lái)了,

關(guān)鍵就是這個(gè)函數(shù)調(diào)用了底層,可惜比不上回調(diào)函數(shù),也不清楚c++這塊有沒(méi)有什么方案

論壇徽章:
154
2022北京冬奧會(huì)紀(jì)念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16賽季CBA聯(lián)賽之深圳
日期:2022-11-02 14:02:4515-16賽季CBA聯(lián)賽之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16賽季CBA聯(lián)賽之八一
日期:2023-11-04 19:23:5115-16賽季CBA聯(lián)賽之廣夏
日期:2023-12-13 18:09:34
7 [報(bào)告]
發(fā)表于 2014-08-02 16:22 |只看該作者
最新的 c sharp都支持異步回調(diào)編碼的

論壇徽章:
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
8 [報(bào)告]
發(fā)表于 2014-08-02 18:09 |只看該作者
get_request();
do_blocked_query(); / do_noblocked_query();

把這兩句看成一個(gè)原子,或者內(nèi)部加了鎖之類的

論壇徽章:
4
白羊座
日期:2013-09-17 21:59:30技術(shù)圖書(shū)徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40雙子座
日期:2013-12-17 18:26:39
9 [報(bào)告]
發(fā)表于 2014-08-03 16:13 |只看該作者
boost thread里面的future與這相似(c++11也有),不過(guò)這個(gè)線程還是處于阻塞狀態(tài),必須等待異步執(zhí)行完畢才能繼續(xù)執(zhí)行,與阻塞調(diào)用方式比較,沒(méi)有什么優(yōu)勢(shì)。
實(shí)現(xiàn)方式猜測(cè)可能是使用條件變量。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
10 [報(bào)告]
發(fā)表于 2014-08-03 17:11 |只看該作者
有啥牛逼的,C語(yǔ)言實(shí)現(xiàn),無(wú)非就是多線程或setjump/longjump。。
過(guò)分的追求這種技巧,是代碼水平不高的表現(xiàn)。
您需要登錄后才可以回帖 登錄 | 注冊(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