Teil der Portierung einer Java-Anwendung auf C# ist die Implementierung eines synchronisierten Nachrichtenpuffers in C#. Mit synchronisiert meine ich, dass es für Threads sicher sein sollte, Nachrichten zu schreiben und zu lesen.Synchronisierte Methoden in C#
In Java kann dies mit synchronized
Methoden und wait()
und notifyAll()
gelöst werden.
Beispiel:
public class MessageBuffer {
// Shared resources up here
public MessageBuffer() {
// Initiating the shared resources
}
public synchronized void post(Object obj) {
// Do stuff
wait();
// Do more stuff
notifyAll();
// Do even more stuff
}
public synchronized Object fetch() {
// Do stuff
wait();
// Do more stuff
notifyAll();
// Do even more stuff and return the object
}
}
Wie ich etwas ähnliches in C# erreichen kann?
Verwandte: http://stackoverflow.com/questions/541194/c-sharp-version-of-javas-synchronized-keyword – sshow
@stigok nicht verwandt, es ist ein Duplikat –
nicht duplizieren, sie warten nicht erwähnt() und notifyAll() – Dimme