亚洲天堂成人在线,色欲亚洲AV永久无码精品,黄色网页免费看,99精品国产99久久久久久白柏

關(guān)閉
當(dāng)前位置:首頁 >> 資訊 >> 建站知識

網(wǎng)站制作應(yīng)該同步擴(kuò)展還是異步擴(kuò)展呢?

來源:無錫網(wǎng)站建設(shè)阿凡達(dá) 瀏覽次數(shù):437 發(fā)表日期:2023-05-17

現(xiàn)在我們理解了同步調(diào)用和異步調(diào)用之間的區(qū)別。為什么要了解它們呢?答案在可擴(kuò)展性當(dāng)中。如果過度使用同步調(diào)用,或者使用不當(dāng),會給系統(tǒng)造成過度的負(fù)擔(dān),妨礙它擴(kuò)展。讓我們維續(xù)使用那個(gè)query exec的例子,嘗試執(zhí)行一個(gè)用戶查詢。如果根據(jù)以下理由,即(1)監(jiān)控很重要,(2)監(jiān)控方法運(yùn)行得很快,(3)*壞的情況不過是用戶查詢變慢了,我們實(shí)現(xiàn)了兩個(gè)同步調(diào)用的監(jiān)控方法。這些理由雖然意圖是好的,但它們卻是錯(cuò)誤的。如前所述,雖然監(jiān)控很重要,但是也沒有返回給用戶的查詢結(jié)果重要。當(dāng)被監(jiān)控的數(shù)據(jù)庫在運(yùn)行時(shí),監(jiān)控方法也許運(yùn)行得很快,但是當(dāng)發(fā)生了硬件故障,或者被監(jiān)控?cái)?shù)據(jù)庫不能訪問時(shí),又會怎樣呢?這樣來,監(jiān)控查詢就會被堆積起來,等待超時(shí)。

這也就意味著用戶的查詢會被阻塞,等待監(jiān)控查詢完成,從而導(dǎo)致用戶查詢堆積起來。當(dāng)用戶查詢變慢或者暫時(shí)停止等待超時(shí)時(shí),它仍然會占用一個(gè)用戶數(shù)據(jù)庫的數(shù)據(jù)庫連接,而且應(yīng)用服務(wù)器上執(zhí)行的線程依然會消耗服務(wù)器上的內(nèi)存。隨著越來越多的用戶線程開始停止,等待它們的監(jiān)控調(diào)用超時(shí),用戶數(shù)據(jù)的連接數(shù)可能會被耗盡,這樣其他非監(jiān)控類的查詢就不能再連接到用戶數(shù)據(jù)庫上。并且應(yīng)用服務(wù)器上的線程需要把數(shù)據(jù)寫回硬盤來釋放內(nèi)存,這樣就會造成服務(wù)器上的內(nèi)存交換。這種交換會使所有的處理變慢,還可能會使應(yīng)用服務(wù)器的TCP堆棧達(dá)到上限,以致拒絕之后的連接。*后,新的用戶請求將得不到處理,用戶只能坐等瀏覽器或應(yīng)用超時(shí)。從本質(zhì)上來說,你的應(yīng)用或平臺已經(jīng)停止工作了。如你所見,究竟是采用同步調(diào)用還是異步調(diào)用,這樣-一個(gè)小疏忽就會輕松地造成一系列糟糕的事件。 這個(gè)場景當(dāng)中*精糕的一點(diǎn)在于,造成問題的根本原因很隱蔽。由于我們是逐步探討了這一系列事件,所以要理解問題所在相對比較容易,但如果系統(tǒng)的癥狀表現(xiàn)為系統(tǒng)載人Web頁面開始變慢,在接下來的15分鐘內(nèi),這種情況越來越嚴(yán)重,直到*后整個(gè)系統(tǒng)停止了運(yùn)行,要診斷這個(gè)問題是非常困難的?;蛟S你有足夠的監(jiān)控信息來幫助你診斷這些類型的問題,但是當(dāng)你的站點(diǎn)停機(jī)了,而你又急于讓它恢復(fù)服務(wù)時(shí),要搞清楚這一系列事件的真相是倍有壓力的。
 
盡管使用同步調(diào)用不當(dāng)或過度會造成問題,但方法調(diào)用還是常常采用同步方式實(shí)現(xiàn)。為什么會這樣?答案在于,同步調(diào)用比異步調(diào)用簡單。你或許會補(bǔ)充說,“等等,同步調(diào)用的確更簡單一些,不過更經(jīng)常情況的是,我們的某些方法需要其他的方法先被調(diào)用才能成功完成。因此,我們不能在系統(tǒng)中使用大量的異步調(diào)用”。是的,的確如此。許多時(shí)候,你的確需要等待被調(diào)用的方法完成,并需要知道某些狀態(tài)才能讓線程繼續(xù)運(yùn)行。我們不是要告訴你所有的同步調(diào)用都不好,事實(shí)上,許多同步調(diào)用都是必需的,它們會讓開發(fā)人員的日子簡單得多。但也有許多時(shí)候,即使存在上述的依賴性,也是可以使用異步調(diào)用,并且應(yīng)該使用異步調(diào)用來代替同步調(diào)用的。如果主線程不太關(guān)心被調(diào)用的線程是否完成了,例如監(jiān)控調(diào)用,那么只需用一個(gè)簡單的異步調(diào)用即可。如果你需要被調(diào)用的線程提供一些信息, 又不想妨礙主線程的執(zhí)行,那么可以采用回調(diào)來獲取這些信息。關(guān)于回調(diào)的詳細(xì)介紹已經(jīng)不在本書的范圍之內(nèi)了?;卣{(diào)功能的一個(gè)示例是,操作系統(tǒng)中用于報(bào)告硬件狀況的中斷處理例程。
 
異步協(xié)調(diào)
 
原方法與被調(diào)用的方法之間的異步協(xié)調(diào)和通信需要一種機(jī)制,以便原方法確認(rèn)被調(diào)用的方法何時(shí)執(zhí)行完畢或者是否執(zhí)行完畢了?;卣{(diào)是一種方法,它們會以參數(shù)的形式傳遞給其他方法,
 
以便去除代碼中不同層之間的耦合。在C和C+中,這是通過函數(shù)指針實(shí)現(xiàn)的;在Java中, 則是通過對象引用實(shí)現(xiàn)的。有許多設(shè)計(jì)模式都使用了回調(diào),例如委托設(shè)計(jì)模式和觀察者設(shè)計(jì)模式。高層的進(jìn)程會充當(dāng)?shù)蛯拥目蛻?,通過傳遞引用來調(diào)用低層的方法。一個(gè)回調(diào)方法被調(diào)用的示例可以是像文件系統(tǒng)改變這樣的同步事件。
 
在.NET框架中,異步通信的特征是使用了BeginBlah,其中Blah就是該方法的同步版本的名字。判斷一個(gè)異步調(diào)用是否完成了的方法有四種:
 
*一種是輪詢(IsCompleted屬性);
 
*二種是回調(diào)方法Delegate;
 
*三種是方法AsyncWaitHandle,等待調(diào)用完成;*四種是方法EndBlah,也是等待調(diào)用完成。
 
不同的語言提供了不同的方案來解決異步通信和協(xié)調(diào)問題。你需要了解你的語言和框架提供了什么解決方案,這樣才能在需要的時(shí)候?qū)崿F(xiàn)它們。
 
在上段中我們說過網(wǎng)站制作同步調(diào)用簡單,因此使用同步調(diào)用的情況比使用異步調(diào)用的I彩得名。雖然這是事實(shí),但它只是工程師忽視了同步調(diào)用的影響的部分原因。另部分原因是開發(fā)人員通常只看到小部分。在一個(gè)組織中,只有非常少的幾個(gè)人能夠覽應(yīng)用的全貌。你的架構(gòu)師肯定應(yīng)該他看到個(gè)局的應(yīng)川,同樣地,管理團(tuán)隊(duì)?wèi)?yīng)該也可以看到。你必須依靠他們來解決難題,并解釋同步調(diào)川會造成哪些擴(kuò)展問題。

聲明:本站部分內(nèi)容及圖片來自互聯(lián)網(wǎng),轉(zhuǎn)載是出于傳遞更多信息之目的,內(nèi)容觀點(diǎn)僅代表作者本人,如有任何標(biāo)注錯(cuò)誤或版權(quán)侵犯請與我們聯(lián)系(Email:2242241319@qq.com),我們將及時(shí)更正、刪除,謝謝。

免費(fèi)答疑熱線

400-189-1319

添加微信

添加微信
添加微信
风流老熟女一二三区中文字幕| a无码精品一区二区三区| 国产伦精品一区二区三区高清版禁| 国产精品伦一区二区三区| 人妻丰满熟妇一区二区三| 亚洲无码精品久久久久| 亚洲无码第三页| 国产熟女乱伦视频| 亚洲成人av天堂| 午夜婷婷国产麻豆精品| 免看一级a一级久久爽爽| av无码天堂一区二区三区| 国产天堂在线| 国产内射在线观看| 国产精品99久久久久久裸交| 国产激情一区二区三区视频免樱桃| 黑大巨大一区二区三区| 一区二区在线视频| 色综合久| 国产91亚洲精品久久久| 亚洲精品无码久久av字幕| 亚洲AV无码精品色午夜果冻不卡| av变态另类| 亚洲综合成人网| 精品免费在线观看| 中文字幕在线观看亚洲| 麻豆 美女 丝袜 人妻 中文| 日韩毛片无码| 亚洲国产AV无码久久| 国产精品一区二区三| 国产中文区4幕区2022| 国产一区二区欧美日韩| 色婷婷久久综合中文久久一本,| 日本中文字幕在线视频| 69堂精品一区二区三区| 久久久精品无码一区二区| 99久久免费国产精品| 欧美一区二区喷水白浆视频| 麻豆精品在线播放| 噜噜色噜噜| 不卡无码中文字幕|