Advertisement
Guest User

Untitled

a guest
Jul 29th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. package SkatingRing;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.List;
  6. import java.util.Random;
  7. import java.util.concurrent.Callable;
  8. import java.util.concurrent.ExecutionException;
  9. import java.util.concurrent.ExecutorService;
  10. import java.util.concurrent.Executors;
  11. import java.util.concurrent.Future;
  12.  
  13. public class Demo {
  14.  
  15. public static void main(String[] args) throws InterruptedException, ExecutionException {
  16. System.out.println("Good moning everyone we are opened!!!");
  17.  
  18. final Random random = new Random();
  19. ExecutorService executor = Executors.newFixedThreadPool(4);
  20.  
  21. final SkatingRink skatingRink = new SchoolSkatingRink();
  22. List<Future<String>> futureList = new ArrayList();
  23.  
  24.  
  25. for(int i = 0; i<10; i++){
  26. final Skater skater = new Skater("Skater-"+i);
  27.  
  28. Future<String> future = executor.submit(new Callable<String>(){
  29. @Override
  30. public String call() throws Exception {
  31.  
  32. int timeSkating = random.nextInt(7)*1000;
  33. System.out.println("START! "+Thread.currentThread().getName()+" & "+skater.getName()+" "+new Date()+" for "+timeSkating/1000+" sec.");
  34.  
  35. Skates skates = skatingRink.getSkates(skater);
  36. Thread.sleep(timeSkating);
  37. skatingRink.returnSkates(skates, skater);
  38.  
  39. return "FINISH!"+Thread.currentThread().getName()+" "+new Date();
  40. }
  41. }
  42. );
  43. futureList.add(future);
  44. }
  45. for(Future<String> fut : futureList){
  46. try {
  47. System.out.println(fut.get());
  48. }catch (InterruptedException | ExecutionException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52.  
  53. executor.shutdown();
  54. System.out.println("Goodbye!");
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement