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;