gpt4 book ai didi

java - 增加 sleep /等待时间直到需要为止

转载 作者:行者123 更新时间:2023-12-01 17:24:55 25 4
gpt4 key购买 nike

我不太擅长多线程,这可能是一个基本问题。但我一直没能找到答案。

场景:假设我有一个由某些东西触发的事件监听器。每次触发该事件时,我想启动一个新线程,该线程大约需要 3 秒来执行。

问题:问题是该事件可以在一秒钟内多次触发,并且我不想一次启动多个线程。

要求:我怎样才能安排一个线程,比如说在事件发生后 1000 毫秒。如果事件继续触发,我想继续延迟线程的预定时间。这样我的线程就会在上次触发事件 1000 毫秒后执行。

最佳答案

事件监听器在启动时创建并启动一个新的私有(private)线程。该线程包含一系列要执行的任务,并按顺序一次执行一个任务。每次偶数监听器接收到一个新事件时,它都会创建一个新任务,并将其添加到私有(private)线程中的任务列表中。

编辑:尤金建议使用线程池,如果您有大量工作要做,每项任务都占用大量时间,这可能对您的情况有益。看一下Java API中的线程池,像这样:http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html

关于java - 增加 sleep /等待时间直到需要为止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746442/

25 4 0
文章推荐: c - calloc是否初始化结构数组?
文章推荐: java - 返回 List 的房间查询会卡住应用程序