运行线程2毫秒,然后在再次运行之前等待特定时间



我有一个方法execute(data),这需要相当长的时间(取决于数据像10秒或20秒),它有超时功能,默认为30秒。我想测试一下这个方法。这样做的一种方法是收集足够的数据,持续超过30秒,然后看看我是否得到超时异常。另一种方法是使用线程。我打算做的是运行一些毫秒的方法,然后在我得到超时异常或使其持续几秒钟之前将线程置于等待状态。谁能告诉我怎样才能做到这一点?

您应该浏览Java线程教程(并发)。任何关于Stack Overflow的答案都需要很长才能帮助你,线程/并发教程已经很好地涵盖了这个问题。

http://docs.oracle.com/javase/tutorial/essential/concurrency/

你可以使用

Thread.sleep( millis );

使线程在所需的时间内处于休眠状态。

或者,您可以将数据处理代码放入循环中,以便它多次处理它。这将重新创建线程实际处理数据超过30秒的场景。

或者,您可以使用更短的超时值测试代码。

最新更新