Forums Register Login

Thread wait()

+Pie Number of slices to send: Send
Why does it say that wait() and notify() are to be called from a synchronized context? Whats the implication of it?

Can anyone explain please.
+Pie Number of slices to send: Send
wait,notify came into existance due to old Thread methods
suspend, stop,resume.

These methods have failed to manage locks obtained.
causing deadlocks.

To work with or manage locks wait and notify are introduced.

wait() -> releases the obtained lock and waits to get notified.
notify() -> notifies another thread(s) waiting on that object.


We can't handle the locks out side the synchronized() block. we can't creep into monitor state.

Thats wait,notify placed in Object sothat we can effectively manage the locks obtained on any Object.
[ August 11, 2007: Message edited by: Srinivasan thoyyeti ]
+Pie Number of slices to send: Send
Just to make it clearer:


In the above programme I've commented out the synchronised block around wait() and notify()[I know it will give a run time exception] just for a hypotethic scenario; I don't seem to see the importance of lock in calling wait and notify; i.e. even without owning or releasing the lock, the waiting / notifying behaviour should happen.
I know there is a flawin my thought process, please explain.
+Pie Number of slices to send: Send
Hi jibs,

I will try it with a more complex example, to show, why it is useful to remind the programmer to use synchronisation. The following code contains a problem (Besides that it doesn't use synchronisation for wait and notify). Can you find it?
[ August 11, 2007: Message edited by: Manfred Klug ]
+Pie Number of slices to send: Send
Manfred Klug ,

Do you think wait,notify can be called out-side synchronized context ???
+Pie Number of slices to send: Send
 

Originally posted by Srinivasan thoyyeti:
Do you think wait,notify can be called out-side synchronized context

If you read the text, you will see, that I know that this will not work. It is only for demonstration purposes.
+Pie Number of slices to send: Send
I am sorry for that
machines help you to do more, but experience less. Experience this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 625 times.
Similar Threads
Threads
difference between join() and wait() method
Wait and Notify
Threads question from khalid mock exam
Threads Threads and Threads
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 05:18:56.