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