I am creating an application wherein a buffer is required to keep messages that come in at a faster rate than they can be processed. I have one app called StoreMsgIn that will receive messages and store them in a data structure. Another app, XFerMsg, needs to remove messages from the message queue created by StoreMsgIn. How can I give XFerMsg access to the data structure created by StoreMsgIn? Thanks, Richard
StoreMsgIn must define synchronized add() and synchronized remove() methods. Messages will be added to the queue using add(). Messages will be removed from the queue using remove() method. XFerMsg must execute in a separate thread, which regularly calls the remove() method. To reduce the load on the processor use the wait-notify protocol. If at the time of remove() the thread of XFerMsg finds that the queue is empty, then it must go into wait(). Then inside every add() method there must be a notify/notifyAll() to wake up waiting thread/threads.
Joined: Jul 28, 2000
How can I give XFerMsg access to the data structure created by StoreMsgIn
Richard you need to pass the datastructure to the StoreMsgIn either in its constructor or through a method invocation. Check out the section in the Java Tutorial on PipedInputStreams here
[This message has been edited by Rahul Mahindrakar (edited April 03, 2001).]