As Codeplug, and I, have already pointed out, you only have ONE choice here:
USE MUTEX LOCKS. Any other form of voodoo -- such as a home brewed sync variable -- will fail you, if not right away then later. You cannot have a variable readable by any thread without a lock, if you want it to be reliably readable. It doesn't matter where you put it. Sans that, do not pass go.
If you are too lazy to do this, do not keep asking for hack answers to a problem that already has a very normative, clearly defined one that you cannot be bothered to apply.
Thanks, this is helpful. And no, I am not lazy -- I am anxious to learn, so I will take the time to do it right!