Guest User

Untitled

a guest
Jul 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. package com.concurrency;
  2.  
  3. import java.util.concurrent.BrokenBarrierException;
  4. import java.util.concurrent.CyclicBarrier;
  5.  
  6. public class PrintEvenOdd {
  7.  
  8. public static void main(String[] args) {
  9. CyclicBarrier barrier = new CyclicBarrier(2);
  10. Thread oddThread = new Thread(() -> {
  11. try {
  12. for (int i = 1; i < 100; i += 2) {
  13. System.out.println(i);
  14. barrier.await(); // signal even to proceed
  15. barrier.await(); // wait for even to finish his task
  16.  
  17. }
  18. } catch (InterruptedException | BrokenBarrierException e) {
  19. e.printStackTrace();
  20. }
  21. });
  22.  
  23. Thread evenThread = new Thread(() -> {
  24. try {
  25. for (int i = 2; i <= 100; i += 2) {
  26. barrier.await(); // waiting for odd to finish his printing
  27. System.out.println(i);
  28. barrier.await(); // signal odd to proceed
  29. }
  30. } catch (Exception e) {
  31. }
  32. });
  33.  
  34. oddThread.start();
  35. evenThread.start();
  36. }
  37. }
Add Comment
Please, Sign In to add comment