Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TwoThread {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- Convect convect = new Convect();
- TreeSet<Integer> numbers = new TreeSet<>();
- Object lock = new Object();
- Object lock2 = new Object();
- public static void main(String... args) throws InstantiationException,
- IllegalAccessException {
- /*
- * one two three four five six seven
- */
- TwoThread m = new TwoThread();
- m.make();
- }
- void addNumber() {
- synchronized (lock) {
- try {
- while (true) {
- numbers.add(convect.toNumber(br.readLine()));
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- void removeNumber() {
- synchronized (lock2) {
- while (true) {
- try {
- if (numbers.size() != 0) {
- int i = numbers.first();
- numbers.remove(i);
- System.out.println(i);
- }
- Thread.sleep(5000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- void make() {
- Thread t1 = new Thread(new Runnable() {
- @Override
- public void run() {
- addNumber();
- }
- });
- Thread t2 = new Thread(new Runnable() {
- @Override
- public void run() {
- removeNumber();
- }
- });
- /*
- * try { t1.join(); t2.join(); } catch (InterruptedException e) {
- * e.printStackTrace(); }
- */
- t1.start();
- t2.start();
- }
Add Comment
Please, Sign In to add comment