并行,表示兩個(gè)線程同時(shí)做事情。多核才可以
并發(fā),表示一會(huì)做這個(gè)事情,一會(huì)做另一個(gè)事情,存在著調(diào)度。
concurrenthashmap是分段鎖
java阻塞io
你讀取數(shù)據(jù)的時(shí)候,你不能干別的
你寫入數(shù)據(jù)的時(shí)候也不能干別的。
java nio
NIO主要有三大核心部分:Channel(通道),Buffer(緩沖區(qū)), Selector。傳統(tǒng)IO基于字節(jié)流和字符流進(jìn)行操作,而NIO基于Channel和Buffer(緩沖區(qū))進(jìn)行操作,數(shù)據(jù)總是從通道讀取到緩沖區(qū)中,或者從緩沖區(qū)寫入到通道中。Selector(選擇區(qū))用于監(jiān)聽多個(gè)通道的事件(比如:連接打開,數(shù)據(jù)到達(dá))。因此,單個(gè)線程可以監(jiān)聽多個(gè)數(shù)據(jù)通道。
java nio把數(shù)據(jù)寫入緩沖區(qū)就直接完事了,然后監(jiān)聽器監(jiān)聽是否成功即可。。
java nio發(fā)送一個(gè)讀取請(qǐng)求就完事了,然后監(jiān)聽器監(jiān)聽是否成功。。
監(jiān)聽器是不是就是輪詢的實(shí)現(xiàn)。。
聯(lián)系客服