首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Hazelcast中,当使用分布式锁作为客户端时,当客户端断开连接时,锁会被释放吗?

在Hazelcast中,当使用分布式锁作为客户端时,当客户端断开连接时,锁会被释放吗?
EN

Stack Overflow用户
提问于 2013-11-04 11:35:20
回答 1查看 870关注 0票数 1

Hazelcast文档显示您可以使用分布式Hazelcast作为客户端,并提到如果持有该锁的成员断开连接,则该锁将被释放。但是,如果我使用锁作为客户端,这将不算为“成员”--如果客户端断开连接,锁仍然安全释放吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-05 05:43:06

客户端锁将自动释放。尝试下面的程序,你就会看到自己。

代码语言:javascript
运行
复制
public class Main {
    public static void main(String[] args) throws InterruptedException {
        HazelcastInstance hz1 = Hazelcast.newHazelcastInstance();
        HazelcastInstance client = HazelcastClient.newHazelcastClient();

        client.getLock("clientLock").lock();
        System.out.println("is locked:" + hz1.getLock("clientLock").isLocked());

        client.shutdown();

        System.out.println("Client is shutdown");
        for(;;){
            boolean isLocked = hz1.getLock("clientLock").isLocked();
            if(!isLocked){
                System.out.println("Client lock is released");
                return;
            }
            System.out.println("is locked:"+ isLocked);
            Thread.sleep(1000);
        }
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19766873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档