java怎么避免死鎖?
1、盡量使用tryLock(long timeout, TimeUnit unit)的方法(ReentrantLock、ReentrantReadWriteLock),設(shè)置超時(shí)時(shí)間,超時(shí)可以退出防止死鎖。
2、盡量使用java.util.concurrent(jdk 1.5以上)包的并發(fā)類代替手寫控制并發(fā),比較常用的是ConcurrentHashMap、ConcurrentLinkedQueue、AtomicBoolean等等,實(shí)際應(yīng)用中java.util.concurrent.atomic十分有用,簡單方便且效率比使用Lock更高 。
3、盡量降低鎖的使用粒度,盡量不要幾個(gè)功能用同一把鎖 。
4、盡量減少同步的代碼塊。
百度搜索圈T社區(qū) 免費(fèi)行業(yè)視頻教程
www.aiquanti.com