Future.get(timeout,unit)是否容易受到与Javadoc中Object.wait()和Condition.await()记录的相同类型的虚假唤醒的影响?
someType result;
Future<someType> future = executor.submit( new callableTask() );
result = future.get( 1000, TimeUnit.MILLISECONDS );
假设线程在超时之前没有结束,是否有可能不等待1000ms?好像它必须等待完全超时(并生成超时异常),否则结果会是什么?
答案 0 :(得分:1)
不,因为它使用更高的同步原语
java.util.concurrent.locks.AbstractQueuedSynchronizer