Посмотрите Interlocked.Exchange () . Он делает очень быструю копию в локальной переменной, которую можно использовать для сравнения. Это быстрее, чем lock ().