Hi, I just know tyhat in java one uses the synchronized keyword, which garantees that the "synchronized" part (usually a method) is accessed by only one thread at a time.
I suppose that "synchronized" in c# might be "lock" or whatever they copied.
Hope it helped.