關(guān)于并發(fā)的一個問題?
我有這樣一個接口,一個用戶5秒內(nèi)只能響應(yīng)一個請求。
先創(chuàng)建一個concurrenthashmap
使用concurrenthashmap.putIfAbsent(userid,time)
若添加成功則請求響應(yīng),否則就是丟棄這個請求,然后程序的finally{}
里根據(jù)時間remove<愛尬聊_尬聊生活>(userid)
.這樣能實現(xiàn)這個問題嗎?你們有什么好的解決方法,自己項目里的這個需求暫時不考慮用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秒鐘) {