遇到该问题的代码,请参考:spring boot Websocket(使用笔记)
当使用 getAsyncRemote 的方式,也就是异步的方式发送消息的时候,导致该问题的产生;
产生该问题的原因是什么?
看一些文章中说是因为异步调用,但没有加锁,导致一个Session正在使用中,又被另一个线程调用;
解决方法:
就是添加 synchronized 关键字;
那么这和 getBasicRemote 有什么区别呢?
也就是异步的方式不会使当前的线程阻塞,导致不能响应其它事件吧。
遇到该问题的代码,请参考:spring boot Websocket(使用笔记)
当使用 getAsyncRemote 的方式,也就是异步的方式发送消息的时候,导致该问题的产生;
产生该问题的原因是什么?
看一些文章中说是因为异步调用,但没有加锁,导致一个Session正在使用中,又被另一个线程调用;
解决方法:
就是添加 synchronized 关键字;
那么这和 getBasicRemote 有什么区别呢?
也就是异步的方式不会使当前的线程阻塞,导致不能响应其它事件吧。