Guest User

Untitled

a guest
Dec 17th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. public class TwoThread {
  2. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  3. Convect convect = new Convect();
  4. TreeSet<Integer> numbers = new TreeSet<>();
  5. Object lock = new Object();
  6. Object lock2 = new Object();
  7.  
  8. public static void main(String... args) throws InstantiationException,
  9. IllegalAccessException {
  10.  
  11. /*
  12. * one two three four five six seven
  13. */
  14.  
  15. TwoThread m = new TwoThread();
  16. m.make();
  17.  
  18. }
  19.  
  20. void addNumber() {
  21. synchronized (lock) {
  22. try {
  23. while (true) {
  24. numbers.add(convect.toNumber(br.readLine()));
  25. }
  26. } catch (IOException e) {
  27. e.printStackTrace();
  28. }
  29. }
  30. }
  31.  
  32. void removeNumber() {
  33. synchronized (lock2) {
  34. while (true) {
  35. try {
  36. if (numbers.size() != 0) {
  37. int i = numbers.first();
  38. numbers.remove(i);
  39. System.out.println(i);
  40. }
  41. Thread.sleep(5000);
  42. } catch (InterruptedException e) {
  43. e.printStackTrace();
  44. }
  45. }
  46. }
  47. }
  48.  
  49. void make() {
  50. Thread t1 = new Thread(new Runnable() {
  51.  
  52. @Override
  53. public void run() {
  54. addNumber();
  55. }
  56. });
  57.  
  58. Thread t2 = new Thread(new Runnable() {
  59.  
  60. @Override
  61. public void run() {
  62. removeNumber();
  63. }
  64. });
  65.  
  66. /*
  67. * try { t1.join(); t2.join(); } catch (InterruptedException e) {
  68. * e.printStackTrace(); }
  69. */
  70.  
  71. t1.start();
  72. t2.start();
  73. }
Add Comment
Please, Sign In to add comment