Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package stringcompareemp;
- class Chat {
- boolean flag = false;
- public synchronized void Question(String msg) {
- if (flag) {
- try {
- wait(2000,300);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- System.out.println(msg);
- flag = true;
- notifyAll();
- }
- public synchronized void Answer(String msg) {
- if (!flag) {
- try {
- wait(5000,300);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- System.out.println(msg);
- flag = false;
- notify();
- }
- }
- class T1 implements Runnable {
- Chat m;
- String[] s1 = {"Hi", "How are you ?", "I am also doing fine!","ahihi","ahihii"};
- public T1(Chat m1) {
- this.m = m1;
- new Thread(this, "Question").start();
- }
- public void run() {
- for (int i = 0; i < s1.length; i++) {
- m.Question(s1[i]);
- }
- }
- }
- class T2 implements Runnable {
- Chat m;
- String[] s2 = {"Hi", "I am good, what about you?", "Great!"};
- public T2(Chat m2) {
- this.m = m2;
- new Thread(this, "Answer").start();
- }
- public void run() {
- for (int i = 0; i < s2.length; i++) {
- m.Answer(s2[i]);
- }
- }
- }
- public class TestThread {
- public static void main(String[] args) {
- Chat m = new Chat();
- new T1(m);
- new T2(m);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement