关于并发的一个问题?

我有这样一个接口,一个用户5秒内只能响应一个请求。
先创建一个concurrenthashmap 使用concurrenthashmap.putIfAbsent(userid,time)若添加成功则请求响应,否则就是丢弃这个请求,然后程序的finally{}里根据时间remove<爱尬聊_尬聊生活>(userid).这样能实现这个问题吗?你们有什么好的解决方法,自己项目里的这个需求暂时不考虑用redis和zookeeper


你说起什么名 6小时前

}lastRequestMap.put(userid, now)......


u_106101665 6小时前

ConcurrentHashMap lastRequestMap = ...


qkoufu1511 6小时前

long now = System.currentTimeMillis()Long lastRequestTime = lastRequestMap.get(userid)if(lastRequestTime != null && lastRequestTime > now - 5秒钟) {


编辑 举报 2023-06-11 14:32

0个评论

暂无评论...
验证码 换一张
相关内容