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

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

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

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

這是應為在方法級別的synchronized聲明將lock這個類對象的當前實例。所以在synMethord1運行結束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. }  

 

運行程序,結果與上次相同。

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

 

  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. }  

 

運行程序,結果如我們預期:

 

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

 

 

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

【編輯推薦】

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

2010-03-18 14:46:18

Java SynDem

2011-05-17 13:22:50

SQL對象名無效

2012-09-05 11:09:15

SELinux操作系統

2009-02-05 10:33:27

設備碎片Java ME移動

2025-01-02 09:48:52

JVMCARD_元素

2010-04-29 17:46:31

Oracle死鎖

2009-07-06 17:50:13

Java JSP

2010-03-11 18:09:33

Python正則表達式

2011-08-29 10:34:00

網絡安全云安全云計算

2023-10-30 18:35:47

MySQL主從延時

2021-06-06 13:05:15

前端跨域CORS

2011-03-23 14:42:47

CPU過度消耗

2017-10-17 09:21:06

2010-07-16 13:52:26

telnet漏洞

2017-07-20 07:30:16

大數據數據互聯網

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

遠程工作網絡安全網絡攻擊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色婷婷综合久久久久中文一区二区 | 性高湖久久久久久久久3小时 | 日本视频免费 | 亚洲性综合网 | 国产午夜一级 | 成人免费一级视频 | 在线色网 | 国产精品99视频 | 国产精品久久久久久久久久三级 | 久久夜色精品国产 | 亚洲 欧美 日韩在线 | 狠狠色综合网站久久久久久久 | 精品久久久久久国产 | 啪一啪在线视频 | 精品视频一二区 | 毛片在线免费 | 粉嫩高清一区二区三区 | 欧美一级免费看 | 中文字幕一区二区三区日韩精品 | 国产成人91 | 在线观看中文字幕dvd播放 | 久久久亚洲 | 久久久久一区 | 成人性视频在线播放 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 欧美一级免费片 | 日韩欧美一区二区三区免费观看 | 国产午夜精品久久久久 | 免费观看一级毛片 | 午夜播放器在线观看 | 成人午夜免费在线视频 | 一区欧美 | 欧美日韩国产一区二区三区 | 久久亚洲欧美日韩精品专区 | 精品日韩一区二区 | 国产免费一区二区 | 久久国产精品一区二区三区 | 久久一本 | 久久久91精品国产一区二区三区 | 日韩高清不卡 | 成人a视频片观看免费 |