自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

計(jì)算機(jī)如何實(shí)現(xiàn)并發(fā)?處理器與內(nèi)存如何交互?白話講解包你看懂!

存儲(chǔ) 存儲(chǔ)軟件
在程序員編寫代碼的時(shí)候,會(huì)從各個(gè)方面來考慮去把軟件的并發(fā)性做好,保證在多用戶,多線程的條件下,程序有條不紊的運(yùn)行。

作為軟件開發(fā)的程序員,每天可能會(huì)面對(duì)***甚至***的數(shù)據(jù)處理,對(duì)于這樣大數(shù)據(jù)的處理,并發(fā)是必不可少的。在程序員編寫代碼的時(shí)候,會(huì)從各個(gè)方面來考慮去把軟件的并發(fā)性做好,保證在多用戶,多線程的條件下,程序有條不紊的運(yùn)行。

小編作為一個(gè)Java軟件開發(fā)程序員,每天考慮的都是如何保證線程的安全,確保程序的高效并發(fā)。但是,這些都是從軟件層面去考慮的,我們會(huì)考慮使用同步方法、同步代碼塊、原子類、并發(fā)鎖、volatile關(guān)鍵字等等一些列方式去保證程序的并發(fā)不會(huì)出現(xiàn)錯(cuò)誤。

[[244792]]

大數(shù)據(jù)需要高并發(fā)

但是,我們卻很少?gòu)挠布慕嵌热タ紤]并發(fā)問題,甚至不知道我們的計(jì)算機(jī)是如何進(jìn)行并發(fā)的。所以,今天我們不談軟件,我們來講一講我們的電腦,我們的服務(wù)器以及各種硬件是如何實(shí)現(xiàn)并發(fā),并且保證并發(fā)不會(huì)出錯(cuò)的!

學(xué)過Java語言的人都知道,Java有JVM,也就是Java的虛擬機(jī),JVM就有很好的并發(fā)能力,今天我們講的物理計(jì)算機(jī)的并發(fā)和JVM有很多相似的地方。所以,了解了物理計(jì)算機(jī)的并發(fā)知識(shí)后,對(duì)學(xué)習(xí)JVM會(huì)有很大的幫助!

計(jì)算機(jī)為什么要并發(fā)?

為什么要并發(fā)?因?yàn)槿祟惖呢澙罚∫驗(yàn)槿祟愊胍蛴?jì)算機(jī)索取更多!人類想要一步,進(jìn)一步的壓榨計(jì)算機(jī)。所以,為了更高效的利用計(jì)算機(jī)的計(jì)算能力,人類想出來了讓計(jì)算機(jī)并發(fā)執(zhí)行多個(gè)任務(wù)的辦法!

高速處理器與低速存儲(chǔ)之間的矛盾

我們都知道,計(jì)算機(jī)中的處理器決定了計(jì)算機(jī)的處理速度,現(xiàn)代處理器的計(jì)算速度是驚人的。但是,處理器并不能自己?jiǎn)为?dú)工作,至少在進(jìn)行運(yùn)算時(shí)需要與進(jìn)行內(nèi)存交互,讀取數(shù)據(jù),或是寫入數(shù)據(jù)。內(nèi)存這種存儲(chǔ)設(shè)備的速度是沒有辦法和處理器相比的,這就造成了造成了處理器計(jì)算能力的浪費(fèi)。這種矛盾就猶如人民日益增長(zhǎng)的美好生活需要和不平衡不充分的發(fā)展之間的矛盾一樣,需要聰明的程序員去解決!

調(diào)和處理器與內(nèi)存的矛盾

聰明的人類想到一個(gè)辦法,他們?cè)谔幚砥髋c內(nèi)存中間,增加一層高速緩存,這層緩存作為處理器與內(nèi)存之間的緩沖區(qū)。將需要處理的數(shù)據(jù)放入高速緩存,處理結(jié)束后再重新放入到內(nèi)存中,這樣就處理器就不需要無盡的等待與內(nèi)存之間的交互。這樣一波操作看似十分的***!但是,請(qǐng)往下看!

高速緩存帶來的并發(fā)問題

高速緩存看似***的解決了高速的處理器與低速緩存之間的矛盾。但是,問題確被復(fù)雜化了。在多處理器的系統(tǒng)中,每個(gè)處理器都會(huì)有自己的高速緩存,數(shù)據(jù)都會(huì)被復(fù)制到高速緩存中處理,處理后再放回主內(nèi)存。由于主內(nèi)存是共享的,如果不同處理器高速緩存中的數(shù)據(jù)不同,這樣就會(huì)造成緩存不一致的問題!

解決并發(fā)問題高速緩存并發(fā)問題

高速緩存的數(shù)據(jù)不一致,這種現(xiàn)象就像鄰居家的小孩子吵架,吵到***就需要家長(zhǎng)出面,把矛盾化解掉。對(duì)于計(jì)算機(jī)來說,這個(gè)家長(zhǎng)就是緩存一致性協(xié)議,在讀寫操作時(shí)按照協(xié)議來操作,避免并發(fā)問題。這樣,就***的解決了所有的問題!

計(jì)算機(jī)如何實(shí)現(xiàn)并發(fā)?處理器與內(nèi)存如何交互?白話講解包你看懂!

處理器、高速緩存、緩存一致性協(xié)議、主內(nèi)存

計(jì)算機(jī)高效并發(fā)的其他操作

除了高效緩存機(jī)制外,還有一些其他的操作也可以提高效率。例如,與Java的指令重排序一樣,處理器也會(huì)根據(jù)執(zhí)行效率,將代碼進(jìn)行重新排序進(jìn)行執(zhí)行。

當(dāng)然,計(jì)算機(jī)提高并發(fā)效率的辦法還有很多,小編日后也會(huì)慢慢道來。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2018-05-11 08:10:11

邊緣計(jì)算處理器內(nèi)存

2023-09-12 12:11:31

方式計(jì)算機(jī)交互

2012-11-01 09:59:57

超級(jí)計(jì)算機(jī)天河2號(hào)

2009-03-22 21:35:19

多核處理器

2013-01-16 10:19:28

2023-10-04 00:15:00

2014-12-10 14:38:17

格靈深瞳智能監(jiān)控

2018-06-12 08:53:38

AI內(nèi)存系統(tǒng)

2021-09-30 12:55:44

數(shù)據(jù)處理流處理引擎

2021-06-29 10:07:14

微軟計(jì)算機(jī)Windows

2011-11-17 13:28:35

云計(jì)算超級(jí)計(jì)算機(jī)

2010-08-10 09:40:23

Flex與瀏覽器交互

2023-10-26 07:58:18

PyQt6Python

2009-12-03 11:25:20

英特爾48核心處理器單芯片云計(jì)算機(jī)

2020-12-24 13:44:14

計(jì)算機(jī)互聯(lián)網(wǎng) 技術(shù)

2023-10-27 07:47:37

計(jì)算機(jī)內(nèi)存模型

2009-09-16 16:24:47

2018-03-14 09:26:20

LinuxWindowsBIOS

2011-05-24 19:03:12

AMD皓龍處理器

2021-06-11 07:26:16

操作系統(tǒng)內(nèi)存管理Cpu
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)