假设一个Java程序尝试执行一个外部操作系统命令,该命令可能需要较长时间才能完成。为了有效地管理资源并防止程序阻塞,应该如何处理?
答案解析
A选项直接等待命令完成会导致程序阻塞。C选项直接终止进程会导致命令无法正常执行,可能导致资源未正确释放。D选项读取进程输出并不会防止主线程阻塞,只有 `waitFor()` 方法会阻塞。B选项正确地使用 `exec()` 创建进程,并通过 `waitFor()` 方法在等待时释放CPU资源,并等待进程结束,是最佳的处理方式。
正确答案:B