java并行 java中并行與并發(fā)的區(qū)別?
java中并行與并發(fā)的區(qū)別?前者是邏輯上的同時(shí)性,后者是物理上的同時(shí)性。比較:并行和并行的區(qū)別是一個(gè)人同時(shí)吃三個(gè)饅頭,三個(gè)人同時(shí)吃三個(gè)饅頭。下圖顯示了一個(gè)具有八個(gè)操作的任務(wù)如何在一個(gè)CPU中創(chuàng)建四個(gè)線
java中并行與并發(fā)的區(qū)別?
前者是邏輯上的同時(shí)性,后者是物理上的同時(shí)性。
比較:并行和并行的區(qū)別是一個(gè)人同時(shí)吃三個(gè)饅頭,三個(gè)人同時(shí)吃三個(gè)饅頭。
下圖顯示了一個(gè)具有八個(gè)操作的任務(wù)如何在一個(gè)CPU中創(chuàng)建四個(gè)線程,并運(yùn)行兩個(gè)內(nèi)核。假設(shè)每個(gè)核心有兩個(gè)線程,那么每個(gè)CPU中的兩個(gè)線程將交替并發(fā),并且兩個(gè)CPU之間的操作將是并行的。就單個(gè)CPU而言,兩個(gè)線程可以解決線程阻塞問題,其運(yùn)行效率沒有得到提高。多個(gè)cpu的并行操作真正解決了運(yùn)行效率的問題,即并發(fā)性與并行性的區(qū)別。