欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用synchronized實(shí)現(xiàn)互斥鎖功能示例

 更新時(shí)間:2020年05月13日 12:13:48   作者:Z_DZ  
這篇文章主要介紹了Java使用synchronized實(shí)現(xiàn)互斥鎖功能,結(jié)合實(shí)例形式分析了Java使用synchronized互斥鎖功能簡(jiǎn)單實(shí)現(xiàn)方法與操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java使用synchronized實(shí)現(xiàn)互斥鎖功能。分享給大家供大家參考,具體如下:

代碼

package per.thread;
 
import java.io.IOException;
 
public class Test {
  
  private int i = 0;
  private Object object = new Object();
   
  public static void main(String[] args) throws IOException {
    
   Test test = new Test();
    
    Test.MyThread thread1 = test.new MyThread();
    Test.MyThread thread2 = test.new MyThread();
    thread1.start();
    thread2.start();
  } 
   
  class MyThread extends Thread{
    @Override
    public void run() {
      synchronized (object) {
        i++;
        System.out.println("i:"+i);
        try {
          System.out.println("線程"+Thread.currentThread().getName()+"進(jìn)入睡眠狀態(tài)");
          Thread.currentThread().sleep(10000);
        } catch (InterruptedException e) {
          // TODO: handle exception
        }
        System.out.println("線程"+Thread.currentThread().getName()+"睡眠結(jié)束");
        i++;
        System.out.println("i:"+i);
      }
    }
  }
}

實(shí)現(xiàn)

i:1
線程Thread-0進(jìn)入睡眠狀態(tài)
線程Thread-0睡眠結(jié)束
i:2
i:3
線程Thread-1進(jìn)入睡眠狀態(tài)
線程Thread-1睡眠結(jié)束
i:4

分析

在thread1休眠之后,thread2沒(méi)有立即執(zhí)行,因?yàn)榻oobject加了synchronized。

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java進(jìn)程與線程操作技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • SpringMVC自定義消息轉(zhuǎn)換器的使用其實(shí)很簡(jiǎn)單

    SpringMVC自定義消息轉(zhuǎn)換器的使用其實(shí)很簡(jiǎn)單

    這篇文章主要介紹了SpringMVC自定義消息轉(zhuǎn)換器的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 如何解決異步任務(wù)上下文丟失問(wèn)題

    如何解決異步任務(wù)上下文丟失問(wèn)題

    在多線程編程中,異步任務(wù)可能會(huì)導(dǎo)致上下文信息丟失,為了解決這個(gè)問(wèn)題,可以在執(zhí)行異步任務(wù)前,通過(guò)自定義TaskDecorator拷貝主線程的上下文至子線程,這樣可以確保上下文在異步執(zhí)行過(guò)程中得以保留,將定制的TaskDecorator設(shè)置至線程池,可以有效地解決上下文丟失問(wèn)題
    2024-09-09
  • 深入探究SpringBoot中的Sleuth用法

    深入探究SpringBoot中的Sleuth用法

    Sleuth是一個(gè)分布式跟蹤系統(tǒng),用于跟蹤應(yīng)用程序中的請(qǐng)求和操作,在本文中,我們將探討SpringBoot中的Sleuth是什么,以及如何使用它來(lái)跟蹤應(yīng)用程序中的請(qǐng)求和操作,感興趣的小伙伴跟著小編一起來(lái)探討吧
    2023-07-07
  • java 串口通信詳細(xì)及簡(jiǎn)單實(shí)例

    java 串口通信詳細(xì)及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了java 串口通信詳細(xì)及簡(jiǎn)單實(shí)例的相關(guān)資料,在開(kāi)發(fā)硬件與軟件結(jié)合的時(shí)候,就會(huì)用到串口,需要的朋友可以參考下
    2017-01-01
  • java虛擬機(jī)原理:類加載過(guò)程詳解

    java虛擬機(jī)原理:類加載過(guò)程詳解

    這篇文章主要介紹了Java中類加載過(guò)程全面解析,具有一定參考價(jià)值,需要的朋友可以了解下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • 淺談使用Java Web獲取客戶端真實(shí)IP的方法示例詳解

    淺談使用Java Web獲取客戶端真實(shí)IP的方法示例詳解

    這篇文章主要介紹了使用Java-Web獲取客戶端真實(shí)IP的方法示例詳解。一般我們無(wú)法獲取客戶端真實(shí)IP,原因是:當(dāng)我們通過(guò)request獲取客戶端IP時(shí),自身服務(wù)器通常會(huì)為了保護(hù)信息或者負(fù)載均衡的目的,對(duì)自身服務(wù)器做反向代理。對(duì)此感興趣可以了解一下
    2020-07-07
  • 如何配置feign全局log

    如何配置feign全局log

    這篇文章主要介紹了如何配置feign全局log,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java 實(shí)現(xiàn)線程池任務(wù)編排的示例代碼

    Java 實(shí)現(xiàn)線程池任務(wù)編排的示例代碼

    任務(wù)編排是將多個(gè)任務(wù)按照特定的依賴關(guān)系和執(zhí)行順序進(jìn)行組織和管理的過(guò)程,以確保任務(wù)能按預(yù)定邏輯順序高效執(zhí)行,本文就來(lái)介紹一下Java 實(shí)現(xiàn)線程池任務(wù)編排的示例代碼,感興趣的可以了解一下
    2024-10-10
  • java簡(jiǎn)單實(shí)現(xiàn)復(fù)制 粘貼 剪切功能代碼分享

    java簡(jiǎn)單實(shí)現(xiàn)復(fù)制 粘貼 剪切功能代碼分享

    本文給大家分享了一段java編寫(xiě)的簡(jiǎn)單實(shí)現(xiàn)復(fù)制粘貼剪切功能的代碼,需要的小伙伴可以直接拿走使用。如有更好的方案,也可以告之本人。
    2014-11-11
  • 淺談使用java解析和生成JSON

    淺談使用java解析和生成JSON

    在www.json.org上公布了很多JAVA下的json構(gòu)造和解析工具,其中g(shù)oogle-gson和org.json比較簡(jiǎn)單,兩者使用上差不多但還是有些區(qū)別。下面我們就來(lái)分別介紹下用他們構(gòu)造和解析Json數(shù)據(jù)的方法示例。
    2015-08-08

最新評(píng)論