專業(yè)長(zhǎng)春網(wǎng)站建設(shè)公司為您提供網(wǎng)站推廣、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、網(wǎng)絡(luò)優(yōu)化、seo、長(zhǎng)春seo服務(wù),16年來(lái)從不用而業(yè)務(wù)員的網(wǎng)絡(luò)公司,信譽(yù)好,口碑好,服務(wù)好

網(wǎng)站設(shè)計(jì)中同步調(diào)用,還是異步調(diào)用?

欄目:網(wǎng)絡(luò)推廣 發(fā)布時(shí)間:2021-03-18

<咱們已經(jīng)曉得了同步的基本定義跟一些示例,那么讓咱們拓寬一-下探討,看看利用中的同步調(diào)用跟異步調(diào)用。同步調(diào)用是在調(diào)用返回時(shí)才干完全履行它們的動(dòng)作。假如一個(gè)方法被調(diào)用了,把持權(quán)被轉(zhuǎn)給該方法來(lái)行使,那么只有當(dāng)該方法實(shí)現(xiàn)了自己要履行的操作,勝利地返回了或者返回有錯(cuò)時(shí),利用中調(diào)用該方法的處所才會(huì)從新得到把持權(quán)。換而言之,同步方法先被調(diào)用,而后它們履行操作,當(dāng)它們實(shí)現(xiàn)時(shí),會(huì)返還把持權(quán)。


作為同步方法的一個(gè)示例,讓咱們來(lái)看看AllScale公司的HRM服務(wù)中的一個(gè)方法query_ exec。網(wǎng)站設(shè)計(jì)準(zhǔn)備工作相當(dāng)重要,這決定你建站的目的,以及日后維護(hù)網(wǎng)站,讓你的網(wǎng)站發(fā)揮作用等是相當(dāng)?shù)闹匾?。該方法用于?gòu)建跟履行一個(gè)動(dòng)態(tài)的數(shù)據(jù)庫(kù)查問(wèn)。query_ exec方法中的一個(gè)步驟是樹(shù)破逐個(gè)個(gè)數(shù)據(jù)庫(kù)連接。在得到這個(gè)數(shù)據(jù)庫(kù)連接任務(wù)勝利實(shí)現(xiàn)了的明白確認(rèn)之前,query. exec方法不會(huì)連續(xù)履行。這樣做既揮霍資源,又揮霍時(shí)光。假如數(shù)據(jù)庫(kù)不可用,那么該利用就不應(yīng)當(dāng)把時(shí)光揮霍在創(chuàng)建查問(wèn)、等待數(shù)據(jù)庫(kù)恢復(fù)可用上。事實(shí)上,假如數(shù)據(jù)庫(kù)不可用了,看看如何劃分?jǐn)?shù)據(jù)庫(kù)來(lái)進(jìn)步它的可用性。只管如此,這是個(gè)說(shuō)明同步調(diào)用是 如何工作的例子。因此,發(fā)動(dòng)調(diào)用的方法會(huì)被暫停,直到被調(diào)用的進(jìn)程返回結(jié)果之前,它是不能實(shí)現(xiàn)的。
 
另一個(gè)說(shuō)明同步性的非技巧示例是兩個(gè)人之間的溝通,這可能是背靠背,也可能是通過(guò)電話。假如這兩個(gè)人都忙于有意思的談話,那么就不太可能產(chǎn)生其余的動(dòng)作。其中一人假如不結(jié)束與另一人的談話,那么很難再與第三個(gè)人開(kāi)端交談。電話會(huì)直占線,直到兩個(gè)人中的一個(gè)或者兩者掛斷了電話。
 
與同步方法或進(jìn)程絕對(duì)的是異步方法。在異步方法調(diào)用中,會(huì)在一個(gè)新的線程中調(diào)用一個(gè)方法,這個(gè)方法會(huì)破即把把持權(quán)返回給調(diào)用它的線程。描述異步方法調(diào)用的設(shè)計(jì)模式叫作異步設(shè)計(jì)或異步方法調(diào)用(AMI)。這個(gè)異步調(diào)用的方法會(huì)在另一個(gè)線程中連續(xù)履行,或勝利結(jié)束或呈現(xiàn)錯(cuò)誤,但都不會(huì)再與發(fā)動(dòng)它的線程有進(jìn)一步的交互。 讓咱們?cè)賮?lái)看看AllScale公司的query exec方法。在調(diào)用了同步方法,樹(shù)破數(shù)據(jù)庫(kù)連接后,該方法須要準(zhǔn)備跟履行查問(wèn)了。在HRM體系中,AllScale公司有一個(gè)監(jiān)控框架,可能用來(lái)察看所有查問(wèn)的連續(xù)時(shí)光以及查問(wèn)是否勝利了,這個(gè)框架采取了異步調(diào)用方法start query_ time跟end query time。這些方法會(huì)把一個(gè)體系時(shí)光存儲(chǔ)在內(nèi)存中,等待調(diào)用的結(jié)束,以便盤算查問(wèn)的連續(xù)時(shí)光。而后這個(gè)連續(xù)時(shí)光會(huì)被存儲(chǔ)在一個(gè)監(jiān)控?cái)?shù)據(jù)
 
庫(kù)中,通過(guò)查問(wèn)這個(gè)數(shù)據(jù)庫(kù),可能依據(jù)查問(wèn)運(yùn)行時(shí)光的是非理解體系運(yùn)行狀況如何。網(wǎng)站設(shè)計(jì)準(zhǔn)備工作相當(dāng)重要,這決定你建站的目的,以及日后維護(hù)網(wǎng)站,讓你的網(wǎng)站發(fā)揮作用等是相當(dāng)?shù)闹匾?。誠(chéng)然監(jiān)控查問(wèn)的機(jī)能很重要,但讓查問(wèn)真正服務(wù)于用戶的懇求更為重要。因此,start query time跟lend query_time這些方法是以異步模式調(diào)用的。假如它們運(yùn)行勝利并返回了結(jié)果,那么AllScale公司的經(jīng)營(yíng)團(tuán)隊(duì)跟軟件開(kāi)發(fā)團(tuán)隊(duì)就能從監(jiān)控?cái)?shù)據(jù)庫(kù)中得到查問(wèn)時(shí)光。即便監(jiān)控調(diào)用失敗了,或者連接監(jiān)控?cái)?shù)據(jù)庫(kù)花了20秒的時(shí)光,這些團(tuán)隊(duì)都不會(huì)在乎。用戶的查問(wèn)仍然在運(yùn)行,它們基本不關(guān)懷這些異步調(diào)用。
 
回到咱們?nèi)穗H溝通的示例,電子郵件是個(gè)異步通信的很好例子。網(wǎng)站設(shè)計(jì)準(zhǔn)備工作相當(dāng)重要,這決定你建站的目的,以及日后維護(hù)網(wǎng)站,讓你的網(wǎng)站發(fā)揮作用等是相當(dāng)?shù)闹匾D銓懥穗娮余]件并把它發(fā)出去后,可能破即去做其余的事件,可能寫另一封郵件, 也可能打一輪高爾夫球或者其余什么事件。當(dāng)回復(fù)的郵件在一個(gè)適合的時(shí)候達(dá)到時(shí),你可能瀏覽這封回復(fù)的郵件,并可能發(fā)出另一封郵件,作為回復(fù)。這個(gè)網(wǎng)站設(shè)計(jì)的溝通鏈除了須要為處理溝通跟寫回信花費(fèi)點(diǎn)時(shí)光之外,不會(huì)妨礙發(fā)送者跟接收者的任何其余活動(dòng)。

相關(guān)鏈接:長(zhǎng)春網(wǎng)站優(yōu)化長(zhǎng)春網(wǎng)站推廣,長(zhǎng)春網(wǎng)絡(luò)推廣長(zhǎng)春網(wǎng)站排名,網(wǎng)站推廣,網(wǎng)絡(luò)推廣,網(wǎng)站優(yōu)化,網(wǎng)站排名,長(zhǎng)春seo,網(wǎng)站seo,http://2588js.com