Java 为什么在SurfaceView中等待渲染线程完成通常是为了防止中断?

Java 为什么在SurfaceView中等待渲染线程完成通常是为了防止中断?,java,android,concurrency,surfaceview,interrupted-exception,Java,Android,Concurrency,Surfaceview,Interrupted Exception,我已经多次看到人们在使用SurfaceView时使用的以下模式: while(true) { try { renderThread.join(); break; } catch (InterruptedException e) { // retry } } 例如,或。为什么这样做?特别是考虑到实际上没有任何东西在中断线程。我认为您不能确定在Android这样的多线程环境中,您的线程不会被中断。代码的含义是,SurfaceV

我已经多次看到人们在使用
SurfaceView
时使用的以下模式:

while(true) {
    try {
        renderThread.join();
        break;
    } catch (InterruptedException e) {
        // retry
    }
}

例如,或。为什么这样做?特别是考虑到实际上没有任何东西在中断线程。

我认为您不能确定在Android这样的多线程环境中,您的线程不会被中断。代码的含义是,
SurfaceView
应始终具有完整的演示文稿,而不是由于某些外部事件(通知、网络状态更改等)导致的未完成绘图而损坏。