VAVR 集合是“不可变的”。
那么,如果我有静态变量,例如,保存所有 WebSocket 会话,我将如何使用 VAVR 以便集合是线程安全的?
例如:
@ServerEndpoint("/actions")
public class DeviceWebSocketServer {
private static Set<Session> sessions = //???; // how should I initialize this?
@OnOpen
public void open(Session session) {
sessions = sessions.add(session); // is this OK???
}
@OnClose
public void close(Session session) {
sessions = sessions.remove(session); // is this OK??
}
}