eat*_*mon 13 c linux multithreading pthreads thread-priority
我的程序有一个后台线程,用于填充和交换双缓冲区实现的后台缓冲区.主线程使用前端缓冲区发送数据.问题是当我运行程序时,主线程平均获得更多的处理时间.我想要相反的行为,因为填充后台缓冲区是一个更耗时的过程,然后处理并向客户端发送数据.
如何在Linux上使用C POSIX pthreads实现这一目标?
根据我的经验,如果在没有优先级的情况下你的主线程获得更多CPU,那么这意味着以下两件事之一:
它实际上需要额外的时间,与你的期望相反,或
后台线程正在饥饿,可能是由于锁争用
改变优先级不会解决其中任何一个问题.
归档时间: |
|
查看次数: |
32395 次 |
最近记录: |