Java多線程死鎖示例
本文實(shí)例演示了Java多線程死鎖。分享給大家供大家參考,具體如下:
package com.damlab.fz; public class DeadLock { public static void main(String[] args) { Resource r1 = new Resource(); Resource r2 = new Resource(); // 每個線程都擁有r1,r2兩個對象 Thread myTh1 = new MyThread1(r1, r2); Thread myTh2 = new MyThread2(r1, r2); myTh1.start(); myTh2.start(); } } class Resource { private int i; } class MyThread1 extends Thread { private Resource r1, r2; public MyThread1(Resource r1, Resource r2) { this.r1 = r1; this.r2 = r2; } @Override public void run() { while (true) { // 先獲得r1的鎖,再獲得r2的鎖 synchronized (r1) { System.out.println("1號線程獲取了r1的鎖"); synchronized (r2) { System.out.println("1號線程獲取了r2的鎖"); } } } } } class MyThread2 extends Thread { private Resource r1, r2; public MyThread2(Resource r1, Resource r2) { this.r1 = r1; this.r2 = r2; } @Override public void run() { while (true) { // 先獲得r2的鎖,再獲得r1的鎖 synchronized (r2) { System.out.println("2號線程獲取了r2的鎖"); synchronized (r1) { System.out.println("2號線程獲取了r1的鎖"); } } } } }
運(yùn)行結(jié)果:
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java進(jìn)程與線程操作技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
servlet3新特性_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了servlet3新特性的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Java實(shí)現(xiàn)將漢字轉(zhuǎn)化為漢語拼音的方法
這篇文章主要介紹了Java實(shí)現(xiàn)將漢字轉(zhuǎn)化為漢語拼音的方法,實(shí)例演示了Java引用pinyin4j庫實(shí)現(xiàn)漢子轉(zhuǎn)化成拼音的使用技巧,需要的朋友可以參考下2015-12-12Sentinel 整合SpringCloud的詳細(xì)教程
Spring Cloud Alibaba Sentinel 是阿里巴巴提供的,致力于提供微服務(wù)一站式解決方案,這篇文章主要介紹了Sentinel 之 整合SpringCloud的相關(guān)知識,需要的朋友可以參考下2021-10-10Maven坐標(biāo)和依賴的實(shí)現(xiàn)示例
本文主要介紹了Maven坐標(biāo)和依賴的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04SpringBoot整合EasyExcel進(jìn)行大數(shù)據(jù)處理的方法詳解
EasyExcel是一個基于Java的簡單、省內(nèi)存的讀寫Excel的開源項(xiàng)目。在盡可能節(jié)約內(nèi)存的情況下支持讀寫百M(fèi)的Excel。本文將在SpringBoot中整合EasyExcel進(jìn)行大數(shù)據(jù)處理,感興趣的可以了解一下2022-05-05ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作
這篇文章主要為大家介紹了ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01springboot 2.0 mybatis mapper-locations掃描多個路徑的實(shí)現(xiàn)
這篇文章主要介紹了springboot 2.0 mybatis mapper-locations掃描多個路徑的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07