大战熟女丰满人妻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定時器類

主站蜘蛛池模板: 日本一区二区在线播放 | 修修视频在线观看 | 久久99精品久久久久久水蜜桃 | 四虎精品久久 | 国产精品一区在线观看 | 色综合伊人色综合网亚洲欧洲 | 国产精品中文字幕在线 | 羞羞视频网站在线观看 | 国产乱人伦偷精品视频不卡 | 国产精品九九免费视频 | 99精品国产在这里白浆 | 精品国产一级毛片大全 | 国产欧美视频综合二区 | 97影院午夜午夜伦不卡 | 久久这里只有精品国产 | 99久久免费国内精品 | 欧美一级高清毛片aaa | 高清国产一区二区三区 | 午夜久久久 | 亚洲操穴 | 中中文字幕亚州无线码 | 手机在线国产精品 | 亚洲精品影院 | 国产专区日韩精品欧美色 | 免费的毛片视频 | 国产精品h | 欧美日韩影视 | 欧美特级爽毛片 | 成人午夜视频在线 | 欧美激情精品久久久久久久久久 | 免费a黄色 | 日本一区二区三区四区公司 | 国内永久第一免费福利视频 | 国产乱码一区二区三区 | 狠狠综合久久综合网站 | 二性视频 | 亚洲国产精品久久久天堂麻豆 | 天堂国产 | 亚洲精品午夜级久久久久 | 欧美精品v国产精品v | 国产成人99久久亚洲综合精品 |