Một phần của việc chuyển một ứng dụng Java sang C# là triển khai bộ đệm thông báo được đồng bộ hóa trong C#. Bằng cách đồng bộ, tôi có nghĩa là phải an toàn cho các chủ đề để viết và đọc các tin nhắn đến và từ đó.Các phương thức đồng bộ trong C#
Trong Java, điều này có thể được giải quyết bằng cách sử dụng các phương pháp synchronized
và wait()
và notifyAll()
.
Ví dụ:
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
}
}
Làm thế nào tôi có thể đạt được một cái gì đó tương tự như trong C#?
liên quan: http://stackoverflow.com/questions/541194/c-sharp-version-of-javas-synchronized-keyword – sshow
@stigok không liên quan, đó là một bản sao –
Không lặp lại, họ đã không đề cập wait() và thông báoAll() – Dimme