Я выполняю несколько задач в ThreadPoolExecutor. Я инициализирую его следующим образом:Отслеживать задачи, отправленные ThreadPoolExecutor
private VideoExportExecutor executor;
private BlockingQueue<Runnable> jobQueue;
public void initialiseVideoProcessor()
{
jobQueue = new LinkedBlockingQueue<Runnable>();
executor = new VideoExportExecutor(1, 1, Long.MAX_VALUE, TimeUnit.SECONDS, jobQueue);
}
Я сделал свою собственную реализацию работоспособного (VideoExportThread
), который содержит метод getProgress()
, чтобы следить за ход представленных задач. Я представить экземпляры это следующим образом:
executor.submit(new VideoExportThread(gcmPath));
Я после того, как способ для запроса исполнителю/BlockingQueue для текущих/отложенных потоков. Я попытался использовать jobQueue.toArray()
и переопределить метод-исполнитель beforeExecute(Thread t, Runnable r)
, но в обоих случаях возвращаемый runnable имеет тип FutureTask, который не содержит большого количества данных. Есть ли способ использовать его для извлечения моего оригинального экземпляра VideoExportThread
, чтобы определить, какие из них запущены, и запросить его прогресс?
Thanks
То, что я в конечном итоге делать. Я думаю, что было бы проще запрашивать непосредственно у исполнителя/blockingList, но это выполнит эту работу. Благодарю. – tishu