-
Notifications
You must be signed in to change notification settings - Fork 0
soleiana/demotask2
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Реализовать интерфейс ExecutionManager public interface ExecutionManager { Context execute(Runnable callback, Runnable... tasks); } Метод execute принимает массив тасков, это задания которые ExecutionManager должен выполнять параллельно (в своем пуле потоков). После завершения всех тасков должен выполниться callback (ровно 1 раз). Метод execute – это неблокирующий метод, который сразу возвращает объект Context. Context это интерфейс следующего вида: public interface Context { int getCompletedTaskCount(); int getFailedTaskCount(); int getInterruptedTaskCount(); void interrupt(); boolean isFinished(); ExecutionStatistics getStatistics(); } Метод getCompletedTaskCount() возвращает количество тасков, которые на текущий момент успешно выполнились. Метод getFailedTaskCount() возвращает количество тасков, при выполнении которых произошел Exception. Метод interrupt() отменяет выполнения тасков, которые еще не начали выполняться. Метод getInterruptedTaskCount() возвращает количество тасков, которые не были выполены из-за отмены (вызовом предыдущего метода). Метод isFinished() вернет true, если все таски были выполнены или отменены, false в противном случае. Метод getStatistics() возвращает статистиску по времени выполнения задач. public interface ExecutionStatistics { int getMinExecutionTimeInMs(); // минимальное время выполнения среди тасков в миллисекундах int getMaxExecutionTimeInMs(); // максимальное время выполнения среди тасков в миллисекундах int getAverageExecutionTimeInMs(); //среднее арифметическое время выполнения тасков в миллисекундах. } Во всем методах ExecutionStatistics учитываются только успешно завершенные задачи.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published