Lock freie Konstrukte in .net

Ich bin neu bei .net und möchte wissen, ob .net das Java-Äquivalent von AtomicInteger, ConcurrentLinkedQueue usw. hat.

Ich habe ein bisschen gesucht und konnte mir nichts einfallen lassen.

Die Algorithmen zum Freigeben von Sperren benötigen eine Art CAS-Anweisung, die über die undokumentierte Unsafe-Klasse in Java bereitgestellt wird. Hat .net etwas Äquivalentes?