我想实现一个函数,通过该函数,我将能够锁定用户帐户并存储用户帐户解锁的日期。
这样的事情是可能的,还是唯一的办法是用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()
方法等待对象过期
请参阅本教程 https://www.baeldung.com/java-delay-queue