1. 首页
  2. 编程语言
  3. Java
  4. 基于String实现同步锁的方法步骤

基于String实现同步锁的方法步骤

上传者: 2021-06-18 09:01:43上传 PDF文件 95.10 KB 热度 12次

因为只有在相同字符串的情况下,并发操作才是不被允许的。因为String 类型的变量赋值是这样的: String a = "hello world."; 所有往往会有个错误的映象,String对象就是不可变的。但是,前面说了, "a" 是可能不等于 "a" 的。所以,我们可以稍微优化下:看起来还是很方便简单的,其原理就是把String对象放到常量池中。不管怎么样,我们是不是可以自己去基于String实现一个锁呢?使用时,只需传入 lockKey 即可。我们知道 CAS 的效率是比较高的,我们可以使用原子类来进行CAS的操作。比如,我们添加一状态字段, 操作此字段以保证线程安全:实际测试下来,CAS 性能是要比 synchronized 之类的锁性能要好的。

下载地址
用户评论