Advertisement
Guest User

Untitled

a guest
May 27th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. import java.util.concurrent.*;
  2. import java.util.concurrent.atomic.AtomicInteger;
  3.  
  4. public class ExecutorServiceExt extends ThreadPoolExecutor {
  5.  
  6. private AtomicInteger count = new AtomicInteger(0);
  7.  
  8. public ExecutorServiceExt(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) {
  9. super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
  10. }
  11.  
  12. @Override
  13. public void execute(final Runnable command) {
  14. count.incrementAndGet();
  15. super.execute(new Runnable() {
  16. @Override
  17. public void run() {
  18. command.run();
  19. postExecute();
  20. }
  21. });
  22. }
  23.  
  24.  
  25. private void postExecute() {
  26. if (count.decrementAndGet() == 0) {
  27. allFinished();
  28. }
  29. }
  30.  
  31. public void allFinished() {
  32.  
  33. }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement