将 Java 应用程序移植到 C# 的一部分是在 C# 中实现同步消息缓冲区。通过同步,我的意思是线程在其中写入和读取消息应该是安全的。
在 Java 中,这可以使用synchronized
方法 和wait()
和来解决notifyAll()
。
例子:
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
}
}
如何在 C# 中实现类似的功能?