java - 在指定日期/时间解锁对象
问题描述
我想实现一个功能,我将能够锁定用户帐户并存储用户帐户将被解锁的日期。
这样的事情是否可能,或者唯一的方法是使用Timer().schedule(new TimerTask()
?
解决方案
您可以使用 DelayQueue 来达到您的目的。
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/DelayQueue.html
您可以通过指定解锁时间将条目放入延迟队列。
创建阻塞延迟队列
BlockingQueue queue = new DelayQueue();
然后将实现延迟接口的对象放入队列中。 https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Delayed.html
public class DelayObject implements Delayed {
take()
然后您可以使用阻塞队列的方法等待您的对象过期
推荐阅读
- kubernetes - 如何在不同的 kubernetes 清单中重用通用配置?
- r - 无法在 R 中显示饼图聊天
- sql - SQL - 将列值设置为所有引用的总和
- java - TypeError:无法读取未定义的属性“initLazy”?
- html - 当使用引导程序的屏幕较小时,如何使我的固定导航栏不固定?
- flutter - 是否有可能在 mac os 上始终将颤振桌面应用程序放在首位?
- jenkins - Jenkins git checkout 代理不工作
- excel - 如何根据月份显示单元格总数?
- java - 在 Java 中使用哈希映射来查找字符串中字符的频率
- ruby-on-rails - Rails 5 显示当前用户联系人