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

2022-02-06 22:18:48 字數 1174 閱讀 2571

單執行緒模式,在大資料量 運算下,肯定效率 沒有  多執行緒快,所以,在設計初期,我就定下了 多執行緒方案。

下面是 計畫 多執行緒方案的  幾個備選方式。

一:單人 多執行緒 非同步併發方案。

己方人物碰撞檢測 敵方 一條執行緒。

敵方人物碰撞檢測 己方 一條執行緒。

己方 子彈 碰撞檢測 敵方 一條執行緒。

敵方 子彈 碰撞檢測 己方 一條執行緒。

人物移動 一條執行緒。

人物血量增減一條執行緒。

優點:碰撞檢測效率快。

缺點:重新整理不同步。

二:單人單執行緒 同步併發方案。

優點:速度相對快。

缺點:資料檢索比較麻煩。

三:多人多執行緒 同步併發方案。

有點:資料檢索 簡單。

缺點:速度相對慢。

通俗解釋

乙個網咖,100臺 電腦。玩家必須 開啟網頁,開啟客戶端遊戲,開啟qq。

第一種方案:網咖 每次 進來乙個玩家,他同時 在三颱機器上,操作 這三個步驟。那麼,他速度肯定最快。

但是,雖然同時點開,但這三颱 機器不一定 同時 能執行開啟,所以不能同步。

不可採用

第二種方案:網咖 開始進來100 個玩家,他們都 順序 執行這 三個步驟,由於有些人操作快,有些人 操作慢,所以

先完成的 人,離開 網咖,讓在外面 的人進來繼續。

這個和我們日常的 方式 很像,效率是所有方案之中最快的。但是,優先完成 離開的玩家,肯定要 告訴 網咖管理員。

這樣 就 讓 網咖管理員 非常的 忙碌了。最後有可能變成  大量完成的 玩家 等待 管理員 放行。

第三種方案:網咖 開始進來100個 玩家,同樣也是 都順序執行這三個步驟,雖然有些人快,有些人慢,但他們必須等

所有人都完成,統一到網咖 管理員那邊 申請離開,由於他們都是 排好隊 依次申請離開的,所以網咖管理員 非常簡單的就處理完,然後

統一 再讓 外面 100個人 進來。

這個步驟,看起來會有點問題,比如 100人中,有個特別慢的人,大家是不是都要等他,之類的問題。我之前也考慮過。

但只要我讓 100臺電腦,分成 多組,也就是 10臺電腦 乙個區,總共10個區。那麼最多也就是 某個區,10個人一起慢點,

對大局不會太多影響。

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

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

一 執行緒的初步認識

在上週去面試的時候,面試官問了我乙個關於執行緒池的問題,當時沒有答上來。所以,回來了之後決定重新學習一下多執行緒。這也是本人第一次寫部落格,之前一直想寫,但是,一直沒有搞清楚的部落格系統是怎麼玩的。這次,到網上看到了一些關於的小技巧,正好最近在學習多執行緒,拿來練練手。1 public class ...

執行緒(一)執行緒的鎖與同步

1.如何避免死鎖 當兩個執行緒需要兩個互斥量,如執行緒一鎖住互斥量a需要互斥量b,但執行緒二鎖住互斥量b需要互斥量a,那麼就會發生死鎖。解決方法1 控制互斥量的枷鎖順序,即不上上述情況發生。2 如果程式複雜,那麼可以嘗試先施放當前鎖,過一段時間在試試。可用pthread mutex trylock函...