溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python并行和并發(fā)的區(qū)別是什么

發(fā)布時(shí)間:2021-12-17 17:02:04 來(lái)源:億速云 閱讀:204 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Python并行和并發(fā)的區(qū)別是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python并行和并發(fā)的區(qū)別是什么”吧!

并行與并發(fā)的區(qū)別

并行 - parallel

同時(shí)做某些事情,可以互不干擾的同一時(shí)刻做幾件事情

并行:是一條高速路上的多條車(chē)道,每條車(chē)道上可能同時(shí)有車(chē)輛在跑,是同時(shí)發(fā)生的概念 

并發(fā) - concurrency

同時(shí)做某些事情,但是一個(gè)時(shí)間段內(nèi)有事情要處理

并發(fā):是眾多車(chē)輛在一個(gè)時(shí)間內(nèi)要通過(guò)路面的時(shí)間,比如下班時(shí)一大波人向食堂涌去,搶購(gòu)時(shí)一大波請(qǐng)求向服務(wù)端涌去 

如何處理并發(fā)?

1、隊(duì)列、緩沖區(qū)

打菜時(shí)排隊(duì),先進(jìn)先出,這個(gè)隊(duì)列就是緩沖區(qū),如果女士?jī)?yōu)先的話(huà)還可以設(shè)置一個(gè)優(yōu)先隊(duì)列

queue 模塊的類(lèi),Queue、LifoQueue、PriorityQueue

2、爭(zhēng)搶

打菜時(shí)誰(shuí)搶到打菜窗口誰(shuí)就先打,這里就是一種鎖機(jī)制,爭(zhēng)搶也是一個(gè)高并發(fā)解決方案,但是有一點(diǎn)不好,可能有人很長(zhǎng)時(shí)間搶不到。

3、 預(yù)處理

將熱門(mén)的菜提前準(zhǔn)備好,冷門(mén)的菜臨時(shí)做,這一種提前加載用戶(hù)需要的數(shù)據(jù)的思路,預(yù)處理思想,緩存常用。

4、并行

太多人吃飯,可以打開(kāi)多個(gè)窗口,形成多個(gè)隊(duì)列并行打菜,成本上升,就像日常通過(guò)購(gòu)買(mǎi)更多服務(wù)器,或多開(kāi)進(jìn)程、線(xiàn)程實(shí)現(xiàn)并行處理,解決并發(fā),這是水平擴(kuò)展的思想

注意

如果線(xiàn)程在單 CPU 上運(yùn)行的話(huà)就不是并行處理了。

但是多數(shù)的服務(wù)器都是多 CPU 的,服務(wù)的部署往往是多機(jī)的、分布式的,這都是并行處理

5、 提速

提到單個(gè)打菜窗口的打菜速度,即提高單個(gè) CPU 的性能,或單個(gè)服務(wù)器安裝更多的 CPU ,這是一種垂直擴(kuò)展思想。

6、 消息中間件

在食堂外部建立九曲回腸的走廊。

在第一點(diǎn)提到的是在程序內(nèi)部建立排隊(duì),這里的消息隊(duì)列是在程序的外部。

常見(jiàn)的消息中間件有 RabbitMQ、ActiveMQ(Apache)、RocketMQ(阿里Apache)、Kafka

感謝各位的閱讀,以上就是“Python并行和并發(fā)的區(qū)別是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python并行和并發(fā)的區(qū)別是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI