大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java面向?qū)ο?/div>
Java異常
Java數(shù)組
Java常用類
Java集合
Java IO流
Java線程
Java反射
Socket編程
Java注解開發(fā)
Java GoF設計模式
HashMap
Java內(nèi)存模型
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;
/**
 * 死鎖
 * 		在線程同步時, 由于線程獲得鎖的順序不一致,導致了線程出現(xiàn)相互等待的情況
 * 如何避免死鎖?
 * 		線程如果想要獲得多個鎖對象, 保證獲得鎖對象的順序一致 
 * @author 蛙課網(wǎng)
 *
 */
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();
	}

}

總結(jié):

理解線程的相關(guān)概念

掌握創(chuàng)建線程的方式

理解線程的生命周期

掌握線程的常用方法

start()

Thread.currentThread

getName() ???/ ?setName()

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

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

理解同步方法,

努力掌握生產(chǎn)者消費者設計模式

掌握Timer定時器類

主站蜘蛛池模板: 九月婷婷亚洲综合在线 | 久久一本一区二区三区 | 欧美一级午夜免费视频你懂的 | 久久午夜影视 | 亚洲精品一区二区三区四区 | 九九久久国产精品大片 | 四虎影院在线观看免费 | jizzjizz欧美69巨大 | 狠狠色噜狠狠狠狠色综合久 | 欧美成人在线观看 | 一区欧美 | 欧美午夜片| 91在线看 | 女十八毛片 | 一区二区三区视频 | 国产91成人精品亚洲精品 | aaa级大片 | 婷婷在线视频 | 日日干日日 | 天天射日日干 | 国产成人精品日本亚洲语言 | 99自拍视频在线观看 | 91国视频 | 欧美日比 | 99久久久国产精品免费牛牛四川 | 欧美性猛交xxxxbbbb | 99视频精品全国在线观看 | 天天毛片 | 久久视频免费看 | 玖玖国产在线 | 毛片真人毛毛片毛片 | 欧美亚洲天堂 | 成年人性生活免费视频 | 色视频亚洲 | 午夜亚洲精品久久久久久 | 亚洲综合国产一区二区三区 | 日韩欧美一级毛片视频免费 | 一级毛片视屏 | 一区二区三区四区国产精品 | 亚洲精品乱码久久久久久蜜桃欧美 | 久久草视频在线 |