我想实现一个功能,它应该如下所示:
WaitingUtility.repeatASupplier(getTheNeededSupplier()).every(100).for(10).now();
供应商应该/可以看起来像番石榴中的供应商:http ://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Suppliers.html 如果供应商说假,那么实用程序继续询问和等待,如果“真”实用程序停止等待。
使用 every(100) 我的意思是每 100 毫秒,要求供应商提供结果。使用 for(10):如果 10 秒结束,实用程序级停止。
我可以想到几种实现和解决方案:Timer、ExecutorService、“自己的”线程处理......
有现成的解决方案吗?什么是最好的解决方案?
谢谢