激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - Java并發(十六)----線程八鎖

Java并發(十六)----線程八鎖

2023-12-03 01:06未知服務器之家 Java教程

所謂的“線程八鎖” 其實就是看 synchronized 鎖住的是哪個對象 情況1: 12 或 21 都是有可能的,就看cpu先調度哪個線程 @Slf4j(topic = "c.Number")class Number{ ? ?public synchronized void a() { ? ? ? ?log.debug("1"); ? } ? ?public synchronized void b() { ?

所謂的“線程八鎖”

其實就是看 synchronized 鎖住的是哪個對象

情況1:12 或 21都是有可能的,就看cpu先調度哪個線程

@Slf4j(topic = "c.Number")
class Number{
 ? ?public synchronized void a() {
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n1.b(); }).start();
}

情況2:1s后12,或 2 1s后 1 ,還是看cpu先調度哪個線程

@Slf4j(topic = "c.Number")
class Number{
 ? ?public synchronized void a() {
 ? ? ? ?sleep(1); //睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n1.b(); }).start();
}

情況3:3 1s后 12 、 23 1s后 1 、 32 1s后 1,3肯定是最開始的打印的,就看1或2誰先打印

@Slf4j(topic = "c.Number")
class Number{
 ? ?public synchronized void a() {
 ? ? ? ?sleep(1);//睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
 ? ?public void c() { // 未加鎖
 ? ? ? ?log.debug("3");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n1.b(); }).start();
 ? ?new Thread(()->{ n1.c(); }).start();
}

情況4:2 1s 后 1,沒有互斥,同時運行,2先打印,sleep 1秒后打印1

@Slf4j(topic = "c.Number")
class Number{
 ? ?public synchronized void a() {
 ? ? ? ?sleep(1);//睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?Number n2 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n2.b(); }).start();
}

情況5:2 1s 后 1,鎖住的對象不同,所以和題4一樣,不存在互斥。

@Slf4j(topic = "c.Number")
class Number{
 ? ?public static synchronized void a() {
 ? ? ? ?sleep(1);//睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n1.b(); }).start();
}

情況6:1s 后12, 或 2 1s后 1,還是看cpu先調度哪個線程

@Slf4j(topic = "c.Number")
class Number{
 ? ?public static synchronized void a() {
 ? ? ? ?sleep(1);//睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public static synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n1.b(); }).start();
}

情況7:2 1s 后 1,鎖住的對象不同,所以和題4一樣,不存在互斥。

@Slf4j(topic = "c.Number")
class Number{
 ? ?public static synchronized void a() {
 ? ? ? ?sleep(1);//睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?Number n2 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n2.b(); }).start();
}

情況8:1s 后12, 或 2 1s后 1,鎖著的同一個對象,還是看cpu先調度哪個線程

@Slf4j(topic = "c.Number")
class Number{
 ? ?public static synchronized void a() {
 ? ? ? ?sleep(1);//睡眠1秒
 ? ? ? ?log.debug("1");
 ?  }
 ? ?public static synchronized void b() {
 ? ? ? ?log.debug("2");
 ?  }
}
?
public static void main(String[] args) {
 ? ?Number n1 = new Number();
 ? ?Number n2 = new Number();
 ? ?new Thread(()->{ n1.a(); }).start();
 ? ?new Thread(()->{ n2.b(); }).start();
}

?

延伸 · 閱讀

精彩推薦
78
主站蜘蛛池模板: 性欧美一区二区 | 第四色成人网 | 国人精品视频在线观看 | 制服丝袜日日夜夜 | 欧美日韩在线播放一区 | 午夜伦情电午夜伦情电影 | 国内免费视频成人精品 | 深夜毛片免费看 | 成人视屏在线观看 | h色视频在线观看 | 性猛aa久久久 | 欧美粗暴analvideos | 国产一级毛片高清视频 | 91九色免费视频 | 精品久久久久久 | 在线1区 | 性片久久 | 在线观看国产网站 | av不卡免费在线 | 一级毛片手机在线观看 | av在线免费看网站 | 色淫网站免费视频 | 中国hdxxxx护士爽在线观看 | 亚洲国产精品久久久久制服红楼梦 | 久久精品首页 | 久久污| 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | 一级做a爱片久久 | 深夜免费福利视频 | 成人免费观看在线视频 | 99国产精品自拍 | 91精品国产网站 | 久久草在线视频 | 黄色网址在线免费播放 | 999精品国产 | 黄在线观看在线播放720p | 视频一区二区三区视频 | 999久久国产| 欧美乱淫| 性大片1000免费看 | 国产在线一级视频 |