Lines 49-55
Link Here
|
49 |
import java.util.Stack; |
49 |
import java.util.Stack; |
50 |
import java.util.Timer; |
50 |
import java.util.Timer; |
51 |
import java.util.TimerTask; |
51 |
import java.util.TimerTask; |
|
|
52 |
import java.util.concurrent.Callable; |
52 |
import java.util.concurrent.Executor; |
53 |
import java.util.concurrent.Executor; |
|
|
54 |
import java.util.concurrent.Future; |
55 |
import java.util.concurrent.FutureTask; |
56 |
import java.util.concurrent.TimeUnit; |
53 |
import java.util.logging.Level; |
57 |
import java.util.logging.Level; |
54 |
import java.util.logging.Logger; |
58 |
import java.util.logging.Logger; |
55 |
|
59 |
|
Lines 426-431
Link Here
|
426 |
} |
430 |
} |
427 |
} |
431 |
} |
428 |
|
432 |
|
|
|
433 |
public <T> Future<T> submit (Callable<T> callable) { |
434 |
return submit (callable, 0, TimeUnit.MILLISECONDS); |
435 |
} |
436 |
|
437 |
public <T> Future<T> submit (Callable<T> callable, int milliseconds) { |
438 |
return submit (callable, milliseconds, TimeUnit.MILLISECONDS); |
439 |
} |
440 |
|
441 |
public <T> Future<T> submit (Callable<T> callable, long delay, TimeUnit timeUnit) { |
442 |
CF<T> cf = new CF<T>(callable); |
443 |
Task task = this.create(cf); |
444 |
cf.task = task; |
445 |
long actualDelay = timeUnit.convert(delay, TimeUnit.MILLISECONDS); |
446 |
if (actualDelay > Integer.MAX_VALUE || actualDelay < 0) { |
447 |
throw new IllegalArgumentException ("Illegal delay " + actualDelay); |
448 |
} |
449 |
task.schedule((int) actualDelay); |
450 |
return cf; |
451 |
} |
452 |
|
453 |
private static final class CF<T> extends FutureTask<T> { |
454 |
private Task task; |
455 |
CF(Callable<T> c) { |
456 |
super (c); |
457 |
} |
458 |
|
459 |
@Override |
460 |
public boolean cancel(boolean mayInterruptIfRunning) { |
461 |
return task.cancel() & super.cancel(mayInterruptIfRunning); |
462 |
} |
463 |
} |
429 |
// |
464 |
// |
430 |
// Static methods communicating with default request processor |
465 |
// Static methods communicating with default request processor |
431 |
// |
466 |
// |