write a code,
we have two thread, one is printing even no and other print the odd no.
Answer Posted / umeshag89
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 |
Post New Answer View All Answers
Is class is a data type?
What are different type of exceptions in java?
What are the major advantages of internal iteration over external iteration?
What does three dots mean in java?
What are functions in java?
What do you understand by the bean persistent property?
What causes memory leak in java?
What do you mean by flow of struts?
How do you delete a list in java?
How many bytes are there?
What are the differences between include directive and include action?
What is flush () in java?
Explain spliterator in java8?
What are exception handling keywords in java?
What is the significance of continue jump statement? Explain with an example.