I have asked a question badly over here Lock on a variable in multiple threads so for clarity I am going to ask it here and hope I can ask it correctly.
classA
The easiest solution: Don't share the instance of ClassB among your threads.
In other words, instantiate a new ClassB with your thread declaration and send it as a parameter.