Simple Locking Approach
using namespace System::Threading;
Create a flag
private: bool ClassObjectsLocked;
In your constructor set it up
ClassObjectsLocked = false;
Then in functions which want to alter values but may be on a different thread
while (ClassObjectsLocked)
Thread::Sleep(1);
In functions which want to read values
ClassObjectsLocked = true;
...
ClassObjectsLocked = false;
