Sie haben Recht, dass dies zwei verschiedene Bedeutungen von serialization
sind. Sie sind mit der Datenserialisierung vertraut, die eine Datenstruktur in einigen kanonischen Darstellungen in einen Bytestrom umwandeln soll. In Multi-Threading bedeutet der Begriff Serialisierung gegenseitiger Ausschluss für Thread- oder Prozesssynchronisation was bedeutet, dass jeweils nur ein Thread auf einer Datenstruktur arbeiten kann. C ++ 11 ermöglicht die Serialisierung zwischen Threads mit std::mutex
Dies ist ein Beispiel für Initialisierung der Ressourcenerfassung (RAII) , in dem die Ressource gleichzeitig erfasst und initialisiert wird , und freigegeben, wenn der Gültigkeitsbereich überschritten wird (Ausführung erreicht die nächste geschweifte Klammer). Dies ist ein allgemeines Idiom, es stellt sicher, dass der Mutex freigegeben wird, selbst wenn der Code vor Erreichen des Endes des Blocks eine Ausnahme auslöst.
Serialize bedeutet eigentlich, in einer seriellen Form zu veröffentlichen, wie in einer nach der anderen. Die Thread-Serialisierung bedeutet also, sicherzustellen, dass bestimmte Ereignisse in einer Sequenz nicht gleichzeitig auftreten.
Ein Heap mit serialisiertem Thread-Zugriff bedeutet also, dass Aufrufe an den Heap in der Reihenfolge erfolgen, in der sie ausgeführt werden, und sie werden nicht gleichzeitig ausgeführt. Dies geschieht wahrscheinlich mit Hilfe einer globalen Sperre.
Ohne den spezifischen Kontext zu kennen, in dem Ihnen das gesagt wurde, nehme ich an, dass es sich auf die Entwicklung einer Anwendung mit einem einzigen Thread bezieht, die ein multi-threaded System simuliert . p>
Das bringt mich zurück zu den alten Tagen, als ich ein CircleMUD Derivat spielte. Das gesamte Spiel wurde in einem einzigen Thread implementiert, aber es musste sich gleichzeitig mit 50-100 Spielern beschäftigen . Ich war ziemlich erstaunt, wie sie das geschafft haben.
Tags und Links c c++ multithreading pthreads