java中实现同步的方法

java中同步有几种实现方法?

一般来说有六种实现方法:

  1. 使用synchronize关键字,可以是同步代码块,同步方法
  2. 使用wait和notify
  3. 使用关键字volatile
  4. 使用重入锁(ReentrantLock)实现线程同步(JDK5 , java.util.concurrent包)
  5. 使用ThreadLocal
  6. 使用堵塞队列(BlockingQueue),其定义了四个常用方法: add(),offer(),take(),put()
  7. 使用原子变量,需要使用线程同步的根本原因在于对普通变量的操作不是原子的。那么什么是原子操作呢?原子操作就是指将读取变量值、修改变量值、保存变量值看成一个整体来操作即-这几种行为要么同时完成,要么都不完成。在java的util.concurrent.atomic包中提供了创建了原子类型变量的工具类,使用该类可以简化线程同步。其中AtomicInteger 表可以用原子方式更新int的值,可用在应用程序中(如以原子方式增加的计数器),但不能用于替换Integer;可扩展Number,允许那些处理机遇数字类的工具和实用工具进行统一访问。AtomicInteger类常用方法:
    AtomicInteger(int initialValue) : 创建具有给定初始值的新的
    AtomicIntegeraddAddGet(int dalta) : 以原子方式将给定值与当前值相加
    get() ,获取当前值。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值