c 请问pthread分线程时,顺序执行怎么办

使用pthread进行分线程处理信息,但有时是2个线程并行(A线程:2.96ms,B线程:2.76ms,并行用时3.34ms),有的时候是2个线程顺行(A线程:3.06ms,B线程:2.97ms,顺行用时6.32ms),如何让所有处理都是并行的呢?

线程本就无序,也不能保证并行,但可以设置同步。

1.首先需要确认,两个线程之间有没有数据依赖,如果有数据依赖,需要想办法解除数据依赖
2. 然后设置线程CPU亲和性,将2个线程绑定在不同的CPU上
3. 【可选】设置线程优先级,避免被高优先级线程抢占。也可以通过设置Linux内核启动参数,将绑定的2个CPU隔离,不被内核调度
4. 【可选】设置中断亲和性,避免被中断打断
5.【可选】设置CPU时钟,FULL Dynticks system
6.【可选】使用SIMO指令

有用麻烦您采纳一下