問題:
場景:A給B轉(zhuǎn)賬50本慕,B給A轉(zhuǎn)賬100踏堡,如果這兩個操作并發(fā)同時進(jìn)行碌燕,我們可以根據(jù)hashCode來確定加鎖順序折汞,
比如hash(A) < hash(B)倔幼,則先lock A,然后lock B爽待。在并發(fā)情況下也不會像傳統(tǒng)處理那樣互相持有對方所需的鎖而導(dǎo)致死鎖問題產(chǎn)生损同;
此處的加鎖可以是單機(jī)下的Synchronized 或者 Lock翩腐,或是數(shù)據(jù)庫鎖,甚或分布式鎖等膏燃。具體根據(jù)業(yè)務(wù)茂卦,技術(shù)場景而定。