娃哈哈 本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!
sleep() 使線程進(jìn)入阻塞狀態(tài),在阻塞時(shí)間結(jié)束后重新?lián)寠Zcpu時(shí)間片,不釋放鎖??梢员恢袛?。 wait() 使獲得當(dāng)前對(duì)象鎖的線程進(jìn)入阻塞狀態(tài),線程被移動(dòng)到該對(duì)象的等待線...
前言 ThreadLcoal提供了一種實(shí)現(xiàn)去讓線程創(chuàng)建內(nèi)部變量,而與其他線程隔離開來,這也是保證線程安全的方法之一。想要實(shí)現(xiàn)這種功能,我們很自然會(huì)想到讓ThreadLocal...
前言 線程是調(diào)度的基本單位,它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。Java中線程的狀態(tài)有以下幾種: 初始化(New)。只是創(chuàng)建了一個(gè)Thread對(duì)象,進(jìn)行資源分配。還沒...
前言 @Transactional的底層實(shí)現(xiàn)是通過aop代理來完成的,當(dāng)調(diào)用被@Transactional聲明的方法時(shí),實(shí)際上調(diào)用的是aop的一個(gè)代理類,事務(wù)失敗會(huì)自動(dòng)捕獲異...
前言 在實(shí)際工作中,我們往往要實(shí)現(xiàn)一些延遲通知的功能,比如訂單未付款30分鐘后自動(dòng)取消、郵件半小時(shí)后發(fā)送等等。通過RabbitMq實(shí)現(xiàn)延遲隊(duì)列主要有兩種方式: 添加rabbi...
前言 SpringBoot下想要使用事務(wù)非常簡單,只需要在Service的類或方法上面加上一個(gè)@Transactional注解即可實(shí)現(xiàn)失敗自動(dòng)回滾。大部分情況下,默認(rèn)的@Tr...
Exchange是什么 我們可以將 Exchange 當(dāng)做一個(gè)消息的中轉(zhuǎn)站,所有的消息在發(fā)送到指定隊(duì)列前都要經(jīng)過這一層中轉(zhuǎn)站。中轉(zhuǎn)站再根據(jù)某些規(guī)則進(jìn)行匹配來決定將消息分發(fā)到哪...
簡介 簡單地說,RabbitMQ就是一個(gè)消息中間件,負(fù)責(zé)接收消息和異步處理消息。一條消息從生產(chǎn)到被消費(fèi)要經(jīng)歷了以下幾個(gè)步驟: 生產(chǎn)者(Producer)產(chǎn)生一條消息(Mess...