我有一台服务器S,可能有两种类型的客户端。类型A和B.类型A客户端只能通过S与A类型的客户端通信(A向S发送消息,然后S将其发送给B)。客户A不能与另一个A通信,B也不能与另一个B通信。
假设我有两个A客户端,1A和2A,并且两者都希望同时向客户端B发送消息,我应该如何制作它们以使它们不重叠?这样S就可以在sepparate实例中接收这两个消息,B也可以接收它们。
答案 0 :(得分:0)
假设您使用线程来实现S,这是Java中的标准,这是线程安全的问题。您要避免的问题是混合两条消息。这必须通过从S发送消息来实现,这是一个线程安全操作 - 特别是对其他此类消息的 atomic 操作。