我知道在計(jì)算機(jī)的理論中,并發(fā)不是表示在同一時(shí)刻,而是在某個(gè)時(shí)間段內(nèi)。
強(qiáng)調(diào)的是某個(gè)時(shí)間段內(nèi)
那么計(jì)算機(jī)會(huì)在同一時(shí)刻執(zhí)行一個(gè)事件嗎?
單核CPU是在不停的切換,那么多核呢,或者多機(jī)呢?
[danger] 實(shí)際上時(shí)間是一個(gè)相對(duì)概念,秒、微妙,還可以再進(jìn)行細(xì)化,理論上存在同一時(shí)刻,但是實(shí)際上卻不能夠證明這一點(diǎn),因?yàn)槔碚撋夏阒罒o限細(xì)分最終也是會(huì)在一個(gè)點(diǎn)上的,而實(shí)際上你又無法去實(shí)際的證明它。這是一個(gè)無法被證明的理論。
既然理論上存在同一時(shí)刻,那么我們?nèi)绾瓮ㄟ^什么區(qū)證明這一點(diǎn)呢,我們相信時(shí)間,但是時(shí)間的刻度可以無限細(xì)分,而我們能掌握,辨別的刻度是有限的,或者說,我們?cè)谧畲笙薅壬系目潭壬习l(fā)像是相同的,就認(rèn)為是同一時(shí)刻呢?
請(qǐng)搜索「普朗克時(shí)間」。
物理上沒法證明同時(shí),相對(duì)論說每個(gè)物體都有它自己的時(shí)鐘,不存在絕對(duì)的同時(shí)
臥槽,這該是一個(gè)哲學(xué)問題吧。。。什么是同一時(shí)刻?time1==time2?如果允許無限細(xì)分的話你的計(jì)算機(jī)是沒法把time1和time2表示出來的,這取決于你的測(cè)量工具,你的工具是日歷,那么time1 time2就只是日期,普通的表可以到秒,秒表可以到毫秒級(jí)……
計(jì)算機(jī)的上的時(shí)間是離散的,也就是以機(jī)器周期T進(jìn)行分割的,每個(gè)機(jī)器周期時(shí)長(zhǎng)為T,對(duì)應(yīng)處理器主頻的倒數(shù)1/f。T作為CPU上最小時(shí)間單位,單個(gè)CPU上,每一個(gè)T只可能被其中的一個(gè)事件(程序)所占有。也即如果你以T作為你所謂時(shí)刻的最小單位,那么在單核CPU上兩個(gè)事件無法同時(shí)發(fā)生;多核上,每個(gè)T有可能被多個(gè)核同時(shí)指向,也就是兩個(gè)事件有可能同時(shí)發(fā)生。但需考慮,如果事件是獨(dú)占性的(比如SMP架構(gòu)的多核CPU,在訪問內(nèi)存時(shí)是獨(dú)占的)那么就不可能同事發(fā)生;多機(jī)上,由于不同CPU采用不同的CPU時(shí)鐘源,你更難界定同一時(shí)刻,在確保T同步的情況下才有可能“同一個(gè)時(shí)刻兩個(gè)事件同時(shí)發(fā)生”。
其實(shí)所有這些,都取決于你對(duì)“同一時(shí)刻”的定義。。。
這個(gè)問題就好比 你有一個(gè)饅頭每天吃一半 問你幾天能吃完 請(qǐng)問你吃的完嗎?我自認(rèn)為自己是個(gè)普通人,這些不但耗費(fèi)大腦細(xì)胞而且消耗時(shí)間沒有結(jié)果的問題我一般是不會(huì)去想的。