本篇文章给大家带来了关于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; } }
登录后复制
如上代码显示,一共有三个同步方法:
- add()
- del()
- getValue()
每个方法同一个对象同一时刻只会被调用一次,比如一个线程在调用add()时,其他线程都会被阻塞,直到第一个线程处理完add()方法。
使用同步语句或块
public void del(int value){ synchronized(this){ this.i -= value; } }
登录后复制
如上代码,synchronized加在了一个{}代码前,这个就代表是一个同步代码块。