遊戲服務器如何保證單個玩家是消息順序處理?

兩種方案:

方案一(這是我們服務器目前使用的方法):

使用netty,mina派發給一個線程執行器,讓所有玩家消息單線程環境下執行,那麼每個玩家的消息就能保證順序性了。每個玩家在netty或者mina中都是一個會話,會話裏面的消息是可以保證順序執行的。然後再添加到主線程綁定的消息隊列,同時喚醒主線程。主線程會取出隊列裏面的消息執行。

方案二:

netty,mina根據玩家roleId從消息執行器裏面取一個並將消息添加進去(線程執行器包含一個消息隊列)並喚醒改線程執行隊列裏的消息,其實更方案一差不多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章