Java WebSocket線程安全基於3點:
1 在新的客戶端連接時,WebSocket容器會創建一個新的端點實例,對應的會話實例表示從唯一的客戶端到該端點實例的唯一連接。
2 每個WebSocket端點實例在任意時刻都只能被一個線程調用。
3 當WebSocket消息以片段形式到達時,Java WebSocket API保證以正確的順序調用相應的端點,並且消息部分不會與其他消息交織。
上述3點為端點保證了一個單線程模型,這是Java WebSocket編程模型與Java Servlet編程模型的關鍵差異,因為Java Servlet實例可能被多個線程同時調用,每個線程用於處理不同客戶端的請求/響應交互。
參考資料
《Java WebSocket編程》 P50-51 P94-95