【问题标题】:Unlock objects on specified date/time在指定日期/时间解锁对象
【发布时间】:2025-12-02 19:50:02
【问题描述】:

我想实现一个功能,通过该功能我可以锁定用户帐户并存储解锁用户帐户的日期。

这样的事情可能吗,还是唯一的方法就是使用Timer().schedule(new TimerTask()

【问题讨论】:

    标签: java delay timing


    【解决方案1】:

    您可以根据需要使用延迟队列。

    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() 方法等待您的对象过期

    查看本教程https://www.baeldung.com/java-delay-queue

    【讨论】: