阻塞隊列 BlockingQueue BlockingQueue的四組API 1.運行時會拋異常的 2.返回一個Boolean值不拋異常的 3.阻塞圃阳,等待(一直等<牙B咐帧!) 4...
需要留意: 多線程并發(fā)的情況下沉衣,使用Callable睬隶,運行結(jié)果會做緩存處理锣夹,提高效率。 獲取返回標(biāo)識可能會遇到阻塞苏潜,一般會放在程序最后執(zhí)行银萍,或者采取異步調(diào)用方式。
ArrayList線程不安全 運行結(jié)果: 從運行結(jié)果來看恤左,在多線程并發(fā)的情況下使用ArrayList是極其不安全的贴唇,它會引發(fā)java.util.ConcurrentModif...
如何判斷鎖的是什么贰锁? 首先我們先來看下面的代碼。思考下面兩個問題滤蝠。 synchronized 鎖的對象是方法的調(diào)用者!就上面代碼而言授嘀,看電影和玩游戲兩個方法是用的TV對象的一...
傳統(tǒng)Synchronized版 問題:上訴代碼只是跑了A和B兩個線程物咳,請問,若再多幾個線程蹄皱,如四個線程览闰,8個線程,線程是否還安全巷折?答案是不安全的压鉴。那應(yīng)該如何解決呢? 虛假喚醒...
傳統(tǒng)的Synchronized鎖 線程就是一個單獨的資源類锻拘,它沒有任何的附屬操作油吭!先看不加Synchronized多線程并發(fā)下的買票問題: 運行結(jié)果: 很明顯可以看到,多個線...
RabbitMQ概念 生產(chǎn)者與消費者 Producer:消息的生產(chǎn)者 Consumer:消息的消費者 Queue 消息隊列,提供了 FIFO 的處理機制推穷,具有緩存消息的能力心包。...
什么是Actor模型? Actor 模式是一個解決分布式計算的數(shù)學(xué)模型馒铃,其中 Actor 是基礎(chǔ)蟹腾,它能回應(yīng)接收到消息,能夠自我決策区宇,創(chuàng)建更多的 Actor娃殖,發(fā)送更多的消息,決...
什么是MQ萧锉? Message Queue(MQ)珊随,消息隊列中間件。很多人都說:MQ 通過將消息的發(fā)送和接收分離來實現(xiàn)應(yīng)用程序的異步和解偶柿隙,這個給人的直覺是——MQ 是異步的叶洞,...
redis分發(fā)訂閱原理 redis是使用c語言實現(xiàn)的,通過分析redis源碼里的public.c文件禀崖,了解發(fā)布和訂閱機制的底層實現(xiàn)衩辟,藉此加深對redis的理解。redis通過...
什么是緩存穿透波附?(查不到) 緩存穿透是指艺晴,用戶想要查詢一個數(shù)據(jù)昼钻,發(fā)現(xiàn)redis內(nèi)存數(shù)據(jù)庫沒有,也就是緩存沒有命中封寞,于是向持久層數(shù)據(jù)庫中查詢然评,發(fā)現(xiàn)也沒有,于是本次查詢失敗狈究。當(dāng)用...
概述 redis提供兩種方式進(jìn)行持久化碗淌,一種是RDB持久化(原理是將Reids在內(nèi)存中的數(shù)據(jù)庫記錄定時dump到磁盤上的RDB持久化),另外一種是AOF持久化(原理是將Rei...
概述 Redis 集群可以在一組 redis 節(jié)點之間實現(xiàn)高可用性和 sharding抖锥。在集群中會有 1 個 master 和多個 slave 節(jié)點亿眠。當(dāng) master 節(jié)點失...
單位設(shè)置 配置文件units單位對大小寫不敏感。 include(包含) 可以理解為Java的import磅废,可以配置多個其他的配置文件在該配置下纳像。 網(wǎng)絡(luò)(network)及通...
watch 命令 redis使用watch命令來實現(xiàn)樂觀鎖的操作。首先拯勉,我們先來看一下單個線程情況下竟趾,加上樂觀鎖,正常執(zhí)行事務(wù)的情況: 接下來谜喊,我們開啟另一個線程潭兽,在之前的線...