How two threads will communicate with each other?
Answers were Sorted based on User's Feedback
Two threads can communicate with each other using
the wait() and notify() , notifyAl() methods. wait()
method tells the thread to wait until another threads
calls notify() method.
The wait() method causes the current thread to wait
(possibly forever) until another thread notifies it of a
condition change. We use wait() in conjunction with notify
() or notifyAll() to coordinate the activities of multiple
threads using the same resources.
The notifyAll() method notifies all the threads waiting on
the monitor held by the current thread and wakes them up.
Typically, one of the waiting threads will grab the monitor
and proceed.
| Is This Answer Correct ? | 57 Yes | 8 No |
Answer / vivek ghavle
The Object class has three methods, wait(), notify(), and
notifyAll() that help threads
Communicate.
Suppose a mail processor thread has to keep checking if
there is any mail to process.
For example,
if one thread is a mail-delivery thread and one thread is a
mail-processor thread,
the mail-processor thread has to keep checking to see if
there's any mail to process.
Using the wait and notify mechanism, the mail-processor
thread could check for
mail, and if it doesn't find any it can say, "Hey, I'm not
going to waste my time
checking for mail every two seconds. I'm going to go hang
out, and when the mail
deliverer puts something in the mailbox, have him notify me
so I can go back to
runnable and do some work."
In other words, using wait() and notify() lets one thread
put itself into a "waiting room" until some other thread
notifies it that there's a reason to come back out.
wait(), notify(), and notifyAll() must be called from within
a synchronized
context! A thread can't invoke a wait or notify method on an
object unless it owns
that object's lock.
| Is This Answer Correct ? | 3 Yes | 1 No |
What are local interfaces? Describe.
Is the infobus client side only?
Explain the life cycle of servlet?
what is the RMI / IIOP?
What is preemptive and Non-preemptive Time Scheduling?
What are the different algorithms used for clustering?
What is the purpose of the finally clause of a try-catch-finally statement?
How are the elements of a cardlayout organized?
What is servlet preinitialization?
What is colon_pkg_prefixes and what is its use?
In HashTable I am storing null value..then what is the error it will show
can any one tell me how to learn good coding techniques