成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java SynDemo對象如何解決繼承問題

開發(fā) 后端
Java SynDemo對象在不斷的學習中一直有很多的問題出現(xiàn)。下面我們就看看如何才能更好的進行相關(guān)問題的解決。希望大家有所收獲。

Java SynDemo對象剛一出現(xiàn)的時候有很多程序員都很頭痛,其實這是完全沒有必要的,下面我們就來詳細的學習下有關(guān)的相關(guān)問題。我們發(fā)現(xiàn),對于Java SynDemo對象,只有synMethord1運行了,而synMethord2卻沒有運行。

這是應(yīng)為在方法級別的synchronized聲明將lock這個類對象的當前實例。所以在synMethord1運行結(jié)束unlock之前,當前Java SynDemo對象實例是無法運行synMethord2的。這種方法級別的synchronized聲明和以下的做法是等同的:

 

  1. package com.cnblogs.gpcuster;/** * * @author Aaron.Guo * */  
  2. public class SynDemo { public void synMethord1() { 
    synchronized (this) { while (true) { try { Thread.sleep(1000); 
    System.out.println("synMethord1"); } catch (InterruptedException 
    e) { // TODO Auto-generated catch block  
  3. e.printStackTrace();  
  4. }  
  5. }  
  6. }  
  7. }  
  8. public void synMethord2() { synchronized (this) { while (true) 
    { try { Thread.sleep(1000); System.out.println("synMethord2"); } 
    catch (InterruptedException e) { // TODO Auto-generated catch block  
  9. e.printStackTrace();  
  10. }  
  11. }  
  12. }  
  13. }  

 

運行程序,結(jié)果與上次相同。

如果我們希望分別同步2個方法該如何處理?可以參考這個實現(xiàn):

 

  1. package com.cnblogs.gpcuster;/** * * @author Aaron.Guo * */  
  2. public class SynDemo { private Object flag1 = new Object();
     private Object 
    flag2 = new Object(); public void synMethord1() 
    { synchronized (flag1) { while (true) { try { Thread.sleep(1000); 
    System.out.println("synMethord1"); } catch (Interrupted
    Exception e) { // TODO Auto-generated catch block  
  3. e.printStackTrace();  
  4. }  
  5. }  
  6. }  
  7. }  
  8. public void synMethord2() { synchronized (flag2) { while (true) 
    { try { Thread.sleep(1000); System.out.println("synMethord2"); } 
    catch (InterruptedException e) { // TODO Auto-generated catch block  
  9. e.printStackTrace();  
  10. }  
  11. }  
  12. }  
  13. }  

 

運行程序,結(jié)果如我們預(yù)期:

 

  1. main   
  2. synMethord2   
  3. synMethord2   
  4. main   
  5. synMethord1   
  6. main   
  7. synMethord1   
  8. synMethord2 

 

 

關(guān)于Synchronized還有一些其他的話題,如static的問題,繼承的問題,與volatile搭配使用等等,在網(wǎng)上都有很詳細的說明,這里就不重復(fù)介紹了。 以上就是對Java SynDemo對象的詳細介紹。

【編輯推薦】

  1. Java線程同步如何在不同線程中調(diào)用
  2. Java線程同步的優(yōu)先級介紹
  3. Java線程返回值如何控制自己的未來
  4. Java線程通信源代碼中的奧秘探究
  5. Java線程同步問題在實踐中尋找答案
責任編輯:張浩 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-05-17 13:22:50

SQL對象名無效

2010-03-18 14:46:18

Java SynDem

2012-09-05 11:09:15

SELinux操作系統(tǒng)

2009-02-05 10:33:27

設(shè)備碎片Java ME移動

2010-04-29 17:46:31

Oracle死鎖

2025-01-02 09:48:52

JVMCARD_元素

2009-07-06 17:50:13

Java JSP

2011-08-29 10:34:00

網(wǎng)絡(luò)安全云安全云計算

2021-06-06 13:05:15

前端跨域CORS

2011-03-23 14:42:47

CPU過度消耗

2010-07-16 13:52:26

telnet漏洞

2023-10-30 18:35:47

MySQL主從延時

2017-10-17 09:21:06

2010-03-11 18:09:33

Python正則表達式

2017-07-20 07:30:16

大數(shù)據(jù)數(shù)據(jù)互聯(lián)網(wǎng)

2024-10-29 16:41:24

SpringBoot跨域Java

2013-05-21 10:49:59

Windows硬件沖突

2024-11-21 16:47:55

2010-03-24 09:25:36

Nginx配置

2020-06-29 15:03:34

遠程工作網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲欧洲精品成人久久奇米网 | 国产综合精品一区二区三区 | 亚洲码欧美码一区二区三区 | 成人免费在线观看视频 | 亚洲精品一区二区三区中文字幕 | 一区二区视频 | 日韩欧美不卡 | 高清一区二区三区 | 在线成人av | 一级片在线免费播放 | 国产一级免费视频 | 成人网视频 | 日韩在线欧美 | 午夜精品导航 | 国产蜜臀97一区二区三区 | 日韩成人免费视频 | 成人国产精品一级毛片视频毛片 | 91精品国产91久久久久福利 | 日韩中文字幕 | 五月婷婷视频 | 国产精品www | 色综合久久久久 | 91久久精品国产91久久性色tv | 国产欧美一区二区三区另类精品 | 在线观看国产视频 | 久久久爽爽爽美女图片 | 一区二区不卡 | 99热这里都是精品 | 久久久久综合 | 在线播放国产一区二区三区 | 亚洲高清在线观看 | 99视频| 精品国产一区二区三区免费 | 综合色影院 | 亚洲精品中文字幕在线 | 华人黄网站大全 | 给我免费的视频在线观看 | 久久一区 | 欧美成人黄色小说 | 欧美一级毛片在线播放 | 羞羞网站在线观看 |