站长资讯网
最全最丰富的资讯网站

一个例子看懂Java中synchronized关键字到底怎么用

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于synchronized关键字的相关问题,包括了使用同步方法、使用同步语句或块以及什么是同步、为什么需要同步的相关内容,下面一起来看一下,希望对大家有帮助。

一个例子看懂Java中synchronized关键字到底怎么用

程序员必备接口测试调试工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
后端、前端、测试,同时在线协作,内容实时同步

推荐学习:《java视频教程》

在平时开发中,synchronized关键字经常遇到,你知道synchronized怎么用吗?本文给大家介绍一下。

我们有两种方法使用同步:

  • 使用同步方法
  • 使用同步语句或块

使用同步方法

要使方法同步,只需将synchronized关键字添加到其声明中:

public class SynchronizedDemo {      private int i = 0;      public synchronized void add() {         i++;     }      public synchronized void del() {         i--;     }      public synchronized int getValue() {         return i;     } }
登录后复制

一个例子看懂Java中synchronized关键字到底怎么用

如上代码显示,一共有三个同步方法:

  • add()
  • del()
  • getValue()

每个方法同一个对象同一时刻只会被调用一次,比如一个线程在调用add()时,其他线程都会被阻塞,直到第一个线程处理完add()方法。

使用同步语句或块

    public void del(int value){          synchronized(this){             this.i -= value;         }     }
登录后复制

一个例子看懂Java中synchronized关键字到底怎么用

如上代码,synchronized加在了一个{}代码前,这个就代表是一个同步代码块。

赞(0)
分享到: 更多 (0)