Объясните пожалуйста, почему здесь возникает starvation deadlock?
public class RenderPageTask implements Callable<String>
{
ExecutorService exec = Executors.newSingleThreadExecutor();
public String call() throws Exception
{
Future<String> header, footer;
header = exec.submit(new LoadFileTask("header.html"));
footer = exec.submit(new LoadFileTask("footer.html"));
String page = renderBody();
// Will deadlock -- task waiting for result of subtask
return header.get() + page + footer.get();
}
}