关于synchronized 全局转分部

现有一全局的synchronized

如下:
Object lock = new Object(); 
synchronized(lock){ 
.... 
}

调用的都是不同的用户,现是全局synchronized ,所以用户都要排队,但是只需同一用户并发是排队调用即可。

如何把全局的改成按用户synchronized 的流程。

提供一下思路


慕尼黑的夜晚无繁华
浏览 429回答 3
3回答

哈士奇WWW

1、维护一个锁列表 2、根据用户id获取锁,同一个id每次获取都返回同一把锁

青春有我

1、维护一个锁列表 2、根据用户id获取锁,同一个id每次获取都返回同一把锁这个列表,需要在用户登出后,清理相应的锁,不然有可能内存泄露(主要看你的UserID设计)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java