游戏服务器架构:网络服务器端程序线程划分
生活随笔
收集整理的這篇文章主要介紹了
游戏服务器架构:网络服务器端程序线程划分
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
服務器端高性能網絡編程的核心在于架構,而架構的核心在于進程-線程模型的選擇。
作為服務器需要做網絡數據的收發,需要做數據庫拉取和保存,需要做日志存儲,需要做常規的游戲邏輯處理.....在這里我把這些功能劃分為三個大的線程類型:IO線程,事件線程,第三方庫線程。
I/O線程,這種線程的主循環是多路復用,阻塞地等待在select/poll/epoll_wait系統調用上。這類線程也處理定時事件。當然它的功能不止IO,有些簡單計算也可以放在其中,比如消息的編碼或者解碼(序列化和反序列化)。在這里我之前有文章介紹過一種設計模式:Reactor 模式,不明白的看這里游戲服務器架構:設計模式之Reactor反應堆,
其中心思想是將所有要處理的I/O事件注冊到一個中心I/O多路復用器上,同時主線程阻塞在多路復用器上,一旦有I/O事件到來或是準備就緒,多路復用器將返回并將相應I/O事件分發到對應的處理器中。
總結
以上是生活随笔為你收集整理的游戏服务器架构:网络服务器端程序线程划分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习实例(6)
- 下一篇: leetcode256. 粉刷房子