你开发的时候有么有遇到过一个问题:服务器的一个服务线程过几个小时断连一次,断连之后会马上重连这种情况。这是由于CPU负载较高,线程调度时将处理数据的线程挂起了一段时间导致的。
因此,我有考虑到把cpu的核心进行分散开来,就类似于分而治之,负载均衡的一种手段,而且这种方法还需要提高工作线程的优先级。这样可以保证资源被均分,而不用抢占导致出现一些莫名其妙的bug。
下面介绍一下,我自己写的一个优先线程类的:很简单,但能使用,请大家指点!
首先,我把源代码提供在githut上面了,大家可以去拿https://github.com/xiaohuarun/PriorityThread
1.你需要明确你所要执行的线程函数的逻辑,并写出来,我用我写的例子作为一个demo。
2.实例化优先线程,并给定你要绑定的核心,如果给定的核心超过cpu的核心,就会放在核心为0上的,然后执行创建优先线程函数就可以啦
以下是运行结果: