最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

相關文章

  • Mybatis?XML配置文件實現(xiàn)增刪改查的示例代碼

    Mybatis?XML配置文件實現(xiàn)增刪改查的示例代碼

    本文主要介紹了Mybatis?XML配置文件實現(xiàn)增刪改查的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • 深入了解Java8中的時區(qū)日期時間

    深入了解Java8中的時區(qū)日期時間

    Java?在?java.time?包中也提供了幾個類用于處理需要關注時區(qū)的日期時間?API,本文將通過簡單的示例講講它們的用法,需要的可以參考一下
    2023-04-04
  • springboot整合knife4j全過程

    springboot整合knife4j全過程

    這篇文章主要介紹了springboot整合knife4j全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot3.0整合chatGPT的完整步驟

    SpringBoot3.0整合chatGPT的完整步驟

    ChatGPT是OpenAI推出的一個語言模型系統(tǒng),它能夠?qū)崟r回答用戶提問,包括聊天、糾正語法錯誤,甚至是寫代碼、寫劇本等,由于可玩性很高,迅速在全球范圍內(nèi)風靡起來,下面這篇文章主要給大家介紹了關于SpringBoot3.0整合chatGPT的完整步驟,需要的朋友可以參考下
    2022-12-12
  • Java批量修改文件名的實例代碼

    Java批量修改文件名的實例代碼

    幾天前在163公開課上下了一些mp4視頻文件。發(fā)現(xiàn)課程名和文件名不對應,想到編個程序批量修改。先分析網(wǎng)頁源代碼將課程名和文件名一一對應,存儲在一個文件里,然后使用Java讀取該文件進而修改文件名。
    2013-04-04
  • Spring Boot應用的極速部署腳本示例代碼

    Spring Boot應用的極速部署腳本示例代碼

    最近在工作中遇到了一個問題,需要極速的部署Spring Boot應用,發(fā)現(xiàn)網(wǎng)上這方面的資料較少,所以自己來總結(jié)下,這篇文章主要給大家介紹了關于Spring Boot應用的極速部署腳本的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Spring中七種事務傳播機制詳解

    Spring中七種事務傳播機制詳解

    這篇文章主要介紹了Spring中七種事務傳播機制詳解,Spring在TransactionDefinition接口中規(guī)定了7種類型的事務傳播行為,Propagation枚舉則引用了這些類型,開發(fā)過程中我們一般直接用Propagation枚舉,需要的朋友可以參考下
    2024-01-01
  • Spring5使用JSR 330標準注解的方法

    Spring5使用JSR 330標準注解的方法

    從Spring3.0之后,除了Spring自帶的注解,我們也可以使用JSR330的標準注解,本文主要介紹了Spring5使用JSR 330標準注解,感興趣的可以了解一下
    2021-09-09
  • 詳解IDEA 啟動tomcat 端口占用原因以及解決方法( 使用debug模式)

    詳解IDEA 啟動tomcat 端口占用原因以及解決方法( 使用debug模式)

    這篇文章主要介紹了詳解IDEA 啟動tomcat 端口占用原因以及解決方法( 使用debug模式) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Java經(jīng)典面試題匯總:多線程

    Java經(jīng)典面試題匯總:多線程

    本篇總結(jié)的是Java多線程相關的面試題,后續(xù)會持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實習生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯誤還望大家多多包涵,不吝賜教,謝謝
    2021-07-07

最新評論

庐江县| 昔阳县| 什邡市| 新乐市| 石林| 达日县| 邓州市| 和田县| 灯塔市| 西和县| 淮滨县| 凯里市| 高台县| 西吉县| 闸北区| 黔江区| 汕尾市| 邛崃市| 革吉县| 房产| 博罗县| 那坡县| 平利县| 景泰县| 民丰县| 玉树县| 红原县| 郧西县| 镶黄旗| 张掖市| 天水市| 光山县| 怀柔区| 华坪县| 山东省| 清水河县| 朔州市| 黎平县| 伊金霍洛旗| 满洲里市| 福泉市|