首页 >> 大全

Java 自动释放锁的几种实现

2023-12-02 大全 24 作者:考证青年

提供了 try-with-lock,不需要显式地获取和释放锁,非常方便。Java 没有这样的机制,不过我们可以自己实现这个机制。

本文以访问量统计的简化场景为例,介绍相关内容,即:

public class VisitCounter {@Getterprivate long visits = 0;public void visit() {visits++;}
}

这里的visit()方法,是线程不安全的,若多线程并发访问该方法,结果是错的。因此多线程下需要上锁,即:

public void safeVisit() {try {lock.lock();visits++;} finally {lock.unlock();}
}

join释放锁_释放锁的语句_

为避免lock... 的麻烦,本文提供了以下几种封装思路,仅供参考。

方案1 使用

java7 开始提供的接口,实现了try-with-功能,可以利用它来实现锁的自动释放。

public class AutoCloseableLock implements AutoCloseable{private final Lock lo

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了