GeeCON Prague 2014*
The moose likes Threads and Synchronization and the fly likes Linking two Threads in a Client-Server Socket program - Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Linking two Threads in a Client-Server Socket program - Java" Watch "Linking two Threads in a Client-Server Socket program - Java" New topic
Author

Linking two Threads in a Client-Server Socket program - Java

Praveena Sarathchandra
Greenhorn

Joined: Jan 02, 2010
Posts: 1
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.
Satya Maheshwari
Ranch Hand

Joined: Jan 01, 2007
Posts: 368
Can 'B' set a flag before going to wait and reset it after the wait is over? This way A can know if B is waiting.


Thanks and Regards
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Linking two Threads in a Client-Server Socket program - Java