From 5092186b4edc932d0fa93ea862b8a4274e530062 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Wed, 5 Nov 2025 22:07:46 +0000 Subject: [PATCH] =?UTF-8?q?refactor(fight):=20=E4=BC=98=E5=8C=96=E6=88=98?= =?UTF-8?q?=E6=96=97=E9=80=BB=E8=BE=91=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= =?UTF-8?q?=EF=BC=8C=E6=B8=85=E7=90=86=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/go.mod | 1 + logic/go.sum | 2 ++ logic/service/player/SocketHandler_Tomee.go | 10 +++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/logic/go.mod b/logic/go.mod index 77e3c6c74..67cafc6cb 100644 --- a/logic/go.mod +++ b/logic/go.mod @@ -22,6 +22,7 @@ require ( github.com/BurntSushi/toml v1.4.0 // indirect github.com/antlabs/stl v0.0.2 // indirect github.com/bits-and-blooms/bitset v1.5.0 // indirect + github.com/bruceshao/lockfree v1.1.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/clbanning/mxj/v2 v2.7.0 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect diff --git a/logic/go.sum b/logic/go.sum index 9269a0094..8a9d7583e 100644 --- a/logic/go.sum +++ b/logic/go.sum @@ -8,6 +8,8 @@ github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df h1:GSoSVRLo github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df/go.mod h1:hiVxq5OP2bUGBRNS3Z/bt/reCLFNbdcST6gISi1fiOM= github.com/bits-and-blooms/bitset v1.5.0 h1:NpE8frKRLGHIcEzkR+gZhiioW1+WbYV6fKwD6ZIpQT8= github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bruceshao/lockfree v1.1.2 h1:V3j7bZWS+yDjazffbobpR+ZCVq98DNJcZMvO8vWFLmc= +github.com/bruceshao/lockfree v1.1.2/go.mod h1:zkhImea4VTfzWvFF1Lleo1esCZeJLGgrYN+mUuqNrMA= github.com/brunoga/deep v1.2.5 h1:bigq4eooqbeJXfvTfZBn3AH3B1iW+rtetxVeh0GiLrg= github.com/brunoga/deep v1.2.5/go.mod h1:GDV6dnXqn80ezsLSZ5Wlv1PdKAWAO4L5PnKYtv2dgaI= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= diff --git a/logic/service/player/SocketHandler_Tomee.go b/logic/service/player/SocketHandler_Tomee.go index 0fa9fa864..346ce717b 100644 --- a/logic/service/player/SocketHandler_Tomee.go +++ b/logic/service/player/SocketHandler_Tomee.go @@ -12,6 +12,7 @@ import ( "fmt" "reflect" + "github.com/bruceshao/lockfree" "github.com/gobwas/ws" "github.com/gobwas/ws/wsutil" "github.com/gogf/gf/v2/os/glog" @@ -205,11 +206,13 @@ type ClientData struct { Wsmsg *WsCodec Conn gnet.Conn SaveL sync.Once //保存锁 - SaveDone chan struct{} + LF *lockfree.Lockfree[[]byte] + //SaveDone chan struct{} } func NewClientData(c gnet.Conn) *ClientData { // 创建事件处理器 + // 创建消费端串行处理的Lockfree cd := ClientData{ @@ -217,6 +220,11 @@ func NewClientData(c gnet.Conn) *ClientData { Conn: c, Wsmsg: &WsCodec{}, } + // cd.LF = lockfree.NewLockfree[[]byte]( + // 1024*1024, + // cd, + // lockfree.NewSleepBlockStrategy(time.Millisecond), + // ) return &cd }