write a code,
we have two thread, one is printing even no and other print the odd no.
public class EvenOdd {
public static void main(String[] args) {
final Printer printer = new Printer();
new Thread(new Runnable() {
@Override
public void run() {
int i = 1;
while (i < 100) {
printer.printOdd(i);
i = i + 2;
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
int i = 2;
while (i < 100) {
printer.printEven(i);
i = i + 2;
}
}
}).start();
}
static class Printer {
boolean isOdd = true;
synchronized public void printOdd(int number) {
while (!isOdd) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.print(number + " ");
isOdd = false;
notify();
}
synchronized public void printEven(int number) {
while (isOdd) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.print(number + " ");
isOdd = true;
notify();
}
}
}
| Is This Answer Correct ? | 0 Yes | 0 No |
how to prepare for IT Officers Interview in Banks
0 Answers TATA, Tata Steel Limited,
diff. b/w JAVA and javascript...
What is a local block?
What do you mean by byte code?
What are functions in java?
Can private class be extended java?
How dead lock situation occurs in java and how you can identify it?
What is primitive data type in java?
What is dynamic binding?
What does 3 dots mean in java?
How do I convert a numeric ip address like 192.18.97.39 into a hostname like java.sun.com?
Can we assign integer value to char in java?