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

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定時器類

全部教程
主站蜘蛛池模板: 99久在线精品99re6视频 | 亚洲日韩欧洲无码av夜夜摸 | 日本成人激情 | 狠狠躁日日躁人人爽 | 一级床上爽高清播放 | 色偷偷av男人的天堂 | 九草在线免费观看 | 欧美video巨大粗暴多人 | 欧美一级精品高清在线观看 | 国产精品自产拍视频观看 | 小明www永久在线看 小明爱看看永久成人免费平台 | 成年人免费网站视频 | 一个人看的免费视频www免费 | 性激烈的欧美三级视频中文字幕 | 欧美午夜精品久久久久免费视 | 老扒夜夜春宵粗大好爽aa毛片 | 精品一区二区视频 | 免费看黄视频 | 91短视频在线观看手机 | 18av黄动漫在线观看 | 日本欧美一区二区三区在线观看 | 欧美一级黄色片免费看 | 日韩精品影视 | 看片在线观看免费 | 在线中文字幕日韩 | 亚洲人成黄网在线观看 | 欧美一级特黄刺激大片视频 | 岛国毛片一级一级特级毛片 | 最新中文字幕在线观看 | 欧美亚洲综合网 | 亚洲女女同志videos | 国产精品亚洲片在线观看不卡 | 在线亚洲综合美国十次 | 亚洲日韩精品欧美一区二区 | 怡红院在线视频观看 | 国内精品在线播放 | 久久精品视频网 | 伦理片第一页 | 一级视频网站 | 成年女人毛片免费视频 | 欧美xx视频|