2
Reply

Throughput/Design problem

tomas

tomas

Jun 28 2007 11:01 AM
1.7k
Hello, I hope one of you have found a solution to the following problem before. . . Thanks in advance if you have. I have to implement an interface defined in an external program - I must have a method Notify() in my object toimplement that interface. When there's an update, the Notify() method is called by the external program. I can then collect any updates with a method call that returns a System.Array consisting of an ID (given by me when implementing the connection), and a value. The problem is that the array that I collect updates from is of fixed size (subsequent updates are not added to the end of the array like a queue. . ), so sometimes by the time I've collected the update, set a member variable in another object to the value (m_Object.SomeValue) and returned to respond to any subsequent Notify() calls, the updates have been overwritten and I've missed some updates. . . Not great. I've removed any calculations I was doing in these Set() methods, but it still doesn't return in time. . This is a sample of my set-up: ManualResetEvent m_NotifyEvent; Thread m_UpdateThread; . . . . m_NotifyEVent = new ManualResetEvent(false); m_UpdateTHread = new THread(new ThreadStart(RTDUpdates)); m_UpdateThread.Start(); ... . .. . private void RTDUpdates() { m_NotifyEVent.WaitONe(); System.Array arrValues = m_RTDServer.RefreshData(); if(arrValues > 0) { for (int i =0; i
Answers (2)