Java 在非同步方法内调用Thread.sleep()
是否可以通过调用例如Thread.sleep(4000)来测试一个异步(EJB@asynchronous)方法是否真的以异步方式工作在该特定方法中查看睡眠是否实际停止其他web客户端进程4秒,或者该进程是否仅发生在异步方法中,客户端本身是否将继续执行下一个任务 我这样问是因为,如果sleep(4000)调用会使webclient停止运行4秒,即使异步方法按预期工作,我也会得到失败的测试结果,即使我的代码正在工作Java 在非同步方法内调用Thread.sleep(),java,multithreading,testing,asynchronous,sleep,Java,Multithreading,Testing,Asynchronous,Sleep,是否可以通过调用例如Thread.sleep(4000)来测试一个异步(EJB@asynchronous)方法是否真的以异步方式工作在该特定方法中查看睡眠是否实际停止其他web客户端进程4秒,或者该进程是否仅发生在异步方法中,客户端本身是否将继续执行下一个任务 我这样问是因为,如果sleep(4000)调用会使webclient停止运行4秒,即使异步方法按预期工作,我也会得到失败的测试结果,即使我的代码正在工作 谢谢。Thread.sleep()仅暂停调用该方法的一个线程-所有其他方法继续正常执
谢谢。
Thread.sleep()
仅暂停调用该方法的一个线程-所有其他方法继续正常执行。异步执行的全部思想是,您有多个线程可以独立运行,因此,如果一个线程需要一段时间,它不会影响其他线程。是的,这就是我的假设。因此,我的@Asynchronous方法目前并没有真正发挥应有的作用。唉。无论如何,谢谢你的回答。