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
Where is java located?
What is difference between array and arraylist in java?
Which keyword specify that a variable is effectively final ?
How many characters is 2 bytes?
What are the types of casting?
Can we call virtual funciton in a constructor ?
What is compiler and what its output.
What are the two parts of a conditional statement?
How to change value in arraylist java?
Explain abstract class in java?
Name few "optional" classes introduced with java 8 ?
What does the “final” keyword mean in front of a variable? A method? A class?
How do you check if a number is a perfect square?
What is a singleton in genetics?
What is difference between local variable and global variable?