• Post Reply Bookmark Topic Watch Topic
  • New Topic

Access to another process' memory

 
Richard Robbins
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Rahul Rathore
Ranch Hand
Posts: 324
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Rahul Mahindrakar
Ranch Hand
Posts: 1869
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Excellent Rathore!!!

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).]
 
Richard Robbins
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the help Rehuls. Richard
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!