你開發的時候有么有遇到過一個問題:服務器的一個服務線程過幾個小時斷連一次,斷連之后會馬上重連這種情況。這是由于CPU負載較高,線程調度時將處理數據的線程掛起了一段時間導致的。
因此,我有考慮到把cpu的核心進行分散開來,就類似于分而治之,負載均衡的一種手段,而且這種方法還需要提高工作線程的優先級。這樣可以保證資源被均分,而不用搶占導致出現一些莫名其妙的bug。
下面介紹一下,我自己寫的一個優先線程類的:很簡單,但能使用,請大家指點!
首先,我把源代碼提供在githut上面了,大家可以去拿https://github.com/xiaohuarun/PriorityThread
1.你需要明確你所要執行的線程函數的邏輯,并寫出來,我用我寫的例子作為一個demo。
2.實例化優先線程,并給定你要綁定的核心,如果給定的核心超過cpu的核心,就會放在核心為0上的,然后執行創建優先線程函數就可以啦
以下是運行結果: