单个 ServerEndpoints 线程安全还是属于在给定时间与其交互的所有客户端?
或者用另一种方式来问同样的问题:ServerEndpoint 类中的全局对象是否有产生并发问题的危险,就像它们在 HttpServlets 中所做的那样?
这个例子似乎表明每个 Endpoint 都是线程安全的,或者他只是在使用 Set 并祈祷并发问题不要出现?
那么,假设它们是线程安全的,容器(Tomcat、Glassfish 等)是否会在每次建立来自不同客户端的新连接时创建 ServerEndpoint 类的新实例?
就像是:
let x = 5;
if x.isMut {
// do stuff
} else {
// do other stuff
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试使错误处理超载,但这是一种反模式。