我在服务器端C代码触发的java客户端代码中询问了 EVENT_A 的用户名和密码。来自服务器的消息正在触发此消息,并且客户端使用消息的内容进一步执行。
现在我通过 EVENT_B 在客户端触发的应用程序中添加了自动注销功能。执行 EVENT_B 后,服务器正在发送 EVENT_A 。但是我必须延迟这个 EVENT_A ,直到我得到服务器的同意说它是登录时间,直到我得到 EVENT_C 即可。
关于应用程序的另一件事是整个过程是多线程的。所以我需要延迟并保持包含 EVENT_A 的对象与服务器端消息ie;我不能去初始化另一个对象。在将来自服务器端的消息存储在某个变量中后,我需要在 EVENT_A 内调用一些。这应该等到 EVENT_C 在另一个线程中被触发并通知。
Q)此要求的设计模式是什么?
答案 0 :(得分:0)
您可以在两个地方使用共享锁定对象。当您获得EVENT_A时,请在锁定对象上调用wait
方法。当您获得EVENT_B时,请在锁定对象上调用notifyall
方法。这应该可以胜任。