gpt4 book ai didi

concurrency - Java Web Socket ServerEndpoint 线程安全

转载 作者:行者123 更新时间:2023-12-04 20:35:47 26 4
gpt4 key购买 nike

单个 ServerEndpoints 线程安全还是属于在给定时间与其交互的所有客户端?

或者用另一种方式问同样的问题:
ServerEndpoint 类中的全局对象是否存在产生并发问题的危险,like they do in HttpServlets ?

This example似乎表明每个端点都是线程安全的,或者他只是在使用 Set 并祈祷并发问题不会出现?

因此,假设它们是线程安全的,容器(Tomcat、Glassfish 等)是否会在每次建立来自不同客户端的新连接时创建 ServerEndpoint 类的新实例?

最佳答案

默认情况下,每个客户端连接都会创建新的 @ServerEndpoint实例。 (这似乎也是最后一个问题的答案)。

静态对象(或对它们的访问)必须同步。

链接示例使用 synchronizedSet ,所以看起来没问题。

另外 - @OnMessage方法不会在前一个 @OnMessage 之前触发处理结束,但它可以从不同的线程调用。这意味着您将始终按顺序处理传入的消息。

关于concurrency - Java Web Socket ServerEndpoint 线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com