我有一个异步的资源,我想使其自动关闭。我的资源旋转了一个线程并轮询内部读者。我应该阻塞Java中的异步AutoClosable资源的close方法吗?
我应该在close方法阻止,直到内部资源是封闭的还是确定。
我的代码是这样的......
public class MyReader implements AutoClosable {
ActualReader readerImpl = ...;
public void close() {
shutdownRequested.set(true);
}
public void start() {
while(!shutdownRequested) {
int someInt = readerImpl.poll(100);
}
readerImpl.close()
}
}
在我看来,是的,它应该阻止。 close()不应该返回,除非一切都关闭。 – VGR