智慧型預判 (二 最初的布局)

2022-02-06 22:18:47 字數 1346 閱讀 8689

不太會畫圖,先簡單看下 程式流程,他比 其他 伺服器 多了 乙個 單獨的 執行緒 內部資料庫 物理運算,也就是  他的運算 不需要 客戶端  時時給資訊。

下面是 片段**。

var bootstrap = bootstrapfactory.createbootstrap();

if (!bootstrap.initialize())

var result = bootstrap.start();

console.writeline("伺服器啟動: !", result);

if (result == startresult.failed)

console.writeline("執行緒池開啟!");

threadpoolmain.onstartthreadpool();

public

static

void

onstartthreadpool()

}static

inttaskcount;

//讀取資料庫,如果沒符合條件 等待後繼續讀取

static

intonreadsql()

return

taskcount;

}

public

bool queueworkitem(manualresetevent eventx, int

task)

//等待事件的完成,即執行緒呼叫manualresetevent.set()方法

阻止當前執行緒,直到當前 waithandle 收到訊號為止。

eventx.waitone(timeout.infinite, true

);

return

true

; }

public threadprocclass(int

count, manualresetevent mre)

public

static

int icount = 0

;

public

static

int imaxcount = 0

;

public

manualresetevent eventx;

public

void threadproc(object

i)

}

智慧型預判 (三 布局加強)

同時增加心跳,用來同步 資料並 定時批量儲存資料庫。protected override void onstarted 規定時間 檢查一次心跳 public void theout object source,system.timers.elapsedeventargs e 定時器 作用,同步 儲存...

智慧型預判 (一 執行緒的開啟)

單執行緒模式,在大資料量 運算下,肯定效率 沒有 多執行緒快,所以,在設計初期,我就定下了 多執行緒方案。下面是 計畫 多執行緒方案的 幾個備選方式。一 單人 多執行緒 非同步併發方案。己方人物碰撞檢測 敵方 一條執行緒。敵方人物碰撞檢測 己方 一條執行緒。己方 子彈 碰撞檢測 敵方 一條執行緒。敵...

智慧型預判 (六 服務端戰鬥 模擬)

服務端 模擬,是指,和 客戶端 做法一樣,給出人物屬性,按照序列幀,開始執行計算。但服務端 執行速度 遠遠大於客戶端。這裡的最關鍵做法,要注意2點!1 戰鬥過程,必須是同步計算,千萬不能有 乙個 非同步處理!好多u3d的朋友,喜歡用 事件,喜歡用協成。這裡注意了,別用哦,雖然處理流程 起來會 比較麻...