我有一个ImageIO读取功能,当下载的图像较大或速度较慢的服务器时会慢一些。我有办法在ImageIO上超时吗?说最多10秒或我取消下载?
__cpp_static_assert
以上功能我想在10秒内完成或取消。
答案 0 :(得分:0)
您可以在Callable对象中调用read方法,并使用executor服务提交它以获取Future对象。类似的东西:
public class MyImageCallable implments Callable..
//..
public void call()..
//here your download image
在未来的对象上,您可以在10秒超时时调用get,一旦超时,您的请求将被取消。类似的东西:
Future<..> f = executorService.submit(/* MyImageCallable object */);
try {
g.get.. 10 seconds..
} ..