Помогите Диме помочь помогать помочь помогать

Armodafinil 150

27.07.2016


Операция добавления задачи может завершиться неудачей по двум причинам: достигнуты предельные значения количества рабочих потоков и задач в очереди или объект Executor инициировал процедуру завершения работы (shutdown). Приложение может настроить обработку отказов, предоставляя реализацию RejectionException- Handler для пула потоков. RejectionExceptionHandler - это интерфейс с единственным методом, который вызывается, когда пул отвергает задачу: void rejectedExecution( Runnable r, ThreadPoolExecutor executor )


Платформа предоставляет четыре предопределённых обработчика для задач, получивших отказ. Они реализованы как внутренние классы ThreadPoolExecutor:


AbortPolicy - отвергает задачу, генерируя armodafinil 150 RejectedExecution- Exception. Эта стратегия используется по умолчанию, если нс определена другая стратегия обработки отказов для данного пула потоков;


CallerRunsPolicy - выполняет задачу в вызывающем потоке, то есть синхронно. Это решение недопустимо, если продолжительные задачи добавляются из 1Л-потока;


DiscardOldestPolicy - удаляет из очереди самую старую (дольше всех ожидающую) задачу и пытается снова вставить отвергнутую задачу. В результате первая задача в очереди удаляется, а добавляемая задача занимает последнее место в очереди;


DiscardPolicy - просто игнорирует отвергнутую задачу