Gibt es eine C# BCL äquivalent zu Clojure-Atom, so etwas wie Atom<T>
die Atom Swap bietet/Semantik für Referenztyp T zurücksetzen? Da .NET unveränderbare Sammlungen enthält, kann ich diese Klasse wie in Clojure verwenden.C# Atom Referenztyp entspricht clojure Atom
0
A
Antwort
3
C# hat die Interlocked
Klasse:
https://msdn.microsoft.com/en-us/library/system.threading.interlocked(v=vs.110).aspx
Sie Swaps mit Interlocked.CompareExchange
allgemein tun können:
https://msdn.microsoft.com/en-us/library/bb297966(v=vs.110).aspx
Verwandte Themen
- 1. Wie Clojure.Spec ein Referenztyp (wie Atom)?
- 2. Wie C# Sprachunterstützung in Atom
- 3. Was ist der Unterschied zwischen einem Atom in Common Lisp und einem Atom in Clojure?
- 4. Ist Sequenz entpackt Atom?
- 5. Atom Editor: mehrere Schnipsel
- 6. In clojure bezieht sich (= 'a' a) auf das 'gleiche Atom'?
- 7. Wie man Atom mit einem "Atom" öffnet. Befehl im Terminal?
- 8. Atom Commander im Atom-Editor zeigt leere graue Feld
- 9. Rails 3 Atom Feed
- 10. Atom manipulieren Editor DOM
- 11. PHP solr Atom Update
- 12. hinzufügen Atom Doppel
- 13. Atom Datei Baum Farben
- 14. Atom-Editor - Npm-Paket
- 15. Atom: Markdown Thema ändern
- 16. Zend_Feed Zugangsartikel - ATOM
- 17. Atom Syntax Thema
- 18. Lauf Python von Atom
- 19. Atom-Quelle voller Syntaxfehler
- 20. Atom 'Autocomplete +' funktioniert nicht
- 21. Was ist wirklich Atom?
- 22. Atom JavaScript Autocomplete
- 23. Ist iinc Atom in Java?
- 24. C++ 11, wie Speicher, um in Atom :: Speicher und Atom :: load
- 25. Installieren von Paketabhängigkeiten in Atom
- 26. Installieren von Nuklid auf Atom
- 27. Atom Aktion ausgeführt beim Speichern
- 28. Random Green Hervorhebung in Atom?
- 29. Emmet auf Atom nicht richtig
- 30. Atom mit Typescript jquery Problem
Verschlungene verwendet werden können, Atom zu implementieren, aber clojure Atom höheres Niveau - Swap Funktion nimmt ein Lambda und führt einen Vergleich mit dem Ergebnis aus, wenn es fehlschlägt, wiederholt es sich mit einem neuen Atomzustand (bis zu bestimmten Zeiten). Aber ich denke, das sind die Schlüsse, die man in BCL bekommen kann, also ist die Antwort auf meine Frage nein. –