黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java面向對象
Java異常
Java數組
Java常用類
Java集合
Java IO流
Java線程
Java反射
Socket編程
Java注解開發
Java GoF設計模式
HashMap
Java內存模型
Java線性表

Java線程死鎖

package com.wkcto.chapter07.sync.p6;

public class SubThread extends Thread {
	@Override
	public void run() {
		if ("a".equals(Thread.currentThread().getName())) {
			synchronized ("資源1") {
				System.out.println("線程a獲得了資源1, 還想獲得資源2");
				synchronized ("資源2") {
					System.out.println("線程a同時獲得了資源1與資源2,可以做愛做的事了");
				}
			}
		}
		if ("b".equals(Thread.currentThread().getName())) {
			synchronized ("資源2") {
				System.out.println("線程b獲得了資源2, 還想獲得資源1");
				synchronized ("資源1") {
					System.out.println("線程b同時獲得了資源1與資源2,可以做愛做的事了");
				}
			}
		}
		
	}
}
package com.wkcto.chapter07.sync.p6;
/**
 * 死鎖
 * 		在線程同步時, 由于線程獲得鎖的順序不一致,導致了線程出現相互等待的情況
 * 如何避免死鎖?
 * 		線程如果想要獲得多個鎖對象, 保證獲得鎖對象的順序一致 
 * @author 蛙課網
 *
 */
public class Test {

	public static void main(String[] args) {
		SubThread ta = new SubThread();
		ta.setName("a");
		ta.start();
		
		SubThread tb = new SubThread();
		tb.setName("b");
		tb.start();
	}

}

總結:

理解線程的相關概念

掌握創建線程的方式

理解線程的生命周期

掌握線程的常用方法

start()

Thread.currentThread

getName() ???/ ?setName()

Thread.sleep()
理解為什么要進行線程同步?  掌握如何進行同步??

理解線程同步必須使用同一個鎖對象, 常用的鎖對象: 常量 , this,  當前類的運行時類

理解同步方法,

努力掌握生產者消費者設計模式

掌握Timer定時器類

全部教程
主站蜘蛛池模板: 日韩三级在线观看视频 | www.国产精品视频 | 成人黄视频 | 欧美97久久人人模人人爽人人喊 | 色列里番h本全彩无遮挡影片 | 中文字幕一区二区三区乱码 | 男女啪啪猛烈到合不拢腿小说网 | 色偷偷偷 | 日本三级香港三级妇三 | 狠狠色狠狠色综合久久第一次 | 黑人videos巨大hd粗暴 | 日韩.欧美.国产.无需播放器 | 又色又爽又黄的视频女女高清 | 大片刺激免费播放视频 | 国产成人精品一区二区三在线观看 | 午夜视频www | 伊人婷婷| 亚洲色图欧美在线 | 麻豆日记| 精品一区二区91 | 波多野结衣视频免费在线观看 | 亚洲欧美日韩精品久久亚洲区色播 | 免费观看一级特黄三大片视频 | 亚洲国产成人va在线观看网址 | 精品亚洲综合久久中文字幕 | 亚洲国产成人91精品 | 亚洲成人免费在线 | 美日韩一级 | 成人一区视频 | 精品综合一区二区三区 | 久久一级毛片 | 欧美一级片a | 免费三级黄色片 | 成人看的羞羞视频免费观看 | 久久er国产精品免费观看1 | 欧美一区二区三区激情视频 | 超级碰在线观看 | 欧美aaaaaaaaaa| 能在线观看的一区二区三区 | yellow中文字幕久久网 | 日韩一级特黄毛片在线看 |