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

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

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

本文實例講述了Java使用synchronized實現(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()+"進入睡眠狀態(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);
      }
    }
  }
}

實現(xiàn)

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

分析

在thread1休眠之后,thread2沒有立即執(zhí)行,因為給object加了synchronized。

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

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

相關(guān)文章

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

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

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

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

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

    深入探究SpringBoot中的Sleuth用法

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

    java 串口通信詳細及簡單實例

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

    java虛擬機原理:類加載過程詳解

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

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

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

    如何配置feign全局log

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

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

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

    java簡單實現(xiàn)復制 粘貼 剪切功能代碼分享

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

    淺談使用java解析和生成JSON

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

最新評論