亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

干貨丨一個(gè)例子讓你明白什么是異步編程

 

我們先來(lái)看看到底什么是異步。

提到異步就不得不提另外一個(gè)概念:同步。

那什么又叫同步呢?

很多初學(xué)者在剛接觸這個(gè)概念時(shí)會(huì)想當(dāng)然的認(rèn)為同步就是同時(shí)進(jìn)行。

顯然,這樣的理解是錯(cuò)誤的,咱不能按字面意思去理解它。

同步,英文全稱叫做Synchronization。

它是指同一時(shí)間只能做一件事,也就是說(shuō)一件事情做完了才能做另外一件事。

比如咱們?nèi)セ疖囌举I票,假設(shè)窗口只有1個(gè),那么同一時(shí)間只能處理1個(gè)人的購(gòu)票業(yè)務(wù),其余的需要進(jìn)行排隊(duì)。

這種one by one的動(dòng)作就是同步。

這種同步的情況其實(shí)有很多,任何需要排隊(duì)的情況都可以理解成同步。

那如果在程序中呢,我們都知道代碼的執(zhí)行是一行接著一行的,比如下面這段代碼:

let ary = []; for(let i = 0;i < 100;i++){ ary[i] = i; } console.log(ary);

 

這段代碼的執(zhí)行就是從上往下依次執(zhí)行,循環(huán)沒(méi)執(zhí)行完,輸出的代碼就不會(huì)執(zhí)行,這就是典型的同步。在程序中,絕大多數(shù)代碼都是同步的。

同步操作的優(yōu)點(diǎn)在于做任何事情都是依次執(zhí)行,井然有序,不會(huì)存在大家同時(shí)搶一個(gè)資源的問(wèn)題。

你想想,如果火車站取消排隊(duì)機(jī)制,那么大家勢(shì)必會(huì)爭(zhēng)先恐后去搶著買票,造成的結(jié)果就是秩序大亂,甚至可能引發(fā)一系列安全問(wèn)題。

如果代碼不是同步執(zhí)行的又會(huì)發(fā)生什么呢?

有些代碼需要依賴前面代碼執(zhí)行后的結(jié)果,但現(xiàn)在大家都是同時(shí)執(zhí)行,那結(jié)果就不一定能獲取到。

而且這些代碼可能在對(duì)同一數(shù)據(jù)就進(jìn)行操作,也會(huì)讓這個(gè)數(shù)據(jù)的值出現(xiàn)不確定的情況。

當(dāng)然同步也有它的缺點(diǎn)。由于是依次進(jìn)行,假如其中某一個(gè)步驟花的時(shí)間比較長(zhǎng),那么后續(xù)動(dòng)作就會(huì)等待它的完成,從而影響效率。

不過(guò),在有些時(shí)候我們還是希望能夠在效率上有所提升,也就是說(shuō)可以讓很多操作同時(shí)進(jìn)行。

這就是另外一個(gè)概念:異步

假設(shè)火車站有10個(gè)人需要買票,現(xiàn)在只有1個(gè)窗口提供服務(wù),如果平均每個(gè)人耗費(fèi)5分鐘,那么總共需要50分鐘才能辦完所有人的業(yè)務(wù)。

火車站為了提高效率,加開(kāi)了9個(gè)窗口,現(xiàn)在一共有10個(gè)窗口提供服務(wù),那么這10個(gè)人就可以同時(shí)辦理了,總共只需要5分鐘,他們所有人的業(yè)務(wù)都可以辦完。這就是異步帶來(lái)的優(yōu)勢(shì)。

以上就是今天的分享啦~

分享到:
標(biāo)簽:編程
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定