I create threads of class A and each sends a serialized object to a Server using ObjectOutputStream.
The Server creates new Threads B for each socket connection (whenever a new A client connects)
B will call a synchronized method on a Shared Resource Mutex which causes it (B) to wait() until some internal condition in the Mutex is true.
In this case how A can know that B is currently waiting?
Note:
A is a GUI. each serialized object sent over socket is added to a queue in Mutex. So, at a particular time if the queue becomes full, B will have to wait till it frees some slots in the queue. So the end user (A GUI
thread) has to see a message like "Please wait while a slot becomes free"
. User will have to
wait for a reply from B (when it becomes
notified by Mutex) in order to continue operations in the GUI (i.e: click a button to open the next JFrame and carry on work)...
How each class is dependent.
(A1 = an instance of class A)
A1--------->B1-------->| ------ |
A2--------->B2-------->| Mutex |
A3--------->B3-------->| ------ |
Hope this description is clear. Thanks in advance.