C linux pthread线程优先级

标签 c linux multithreading pthreads thread-priority

我的程序有一个后台线程,用于填充和交换双缓冲区实现的后台缓冲区。 主线程使用前台缓冲区发送数据。问题是当我运行程序时,主线程平均得到更多的处理时间。我想要相反的行为,因为填充后台缓冲区是一个比处理数据并将数据发送到客户端更耗时的过程。

如何在 Linux 上使用 C POSIX pthreads 实现这一点?

最佳答案

根据我的经验,如果在没有优先级的情况下您的主线程获得更多 CPU,那么这意味着以下两种情况之一:

  1. 它实际上需要额外的时间,与您的预期相反,或者

  2. 后台线程正在饿死,可能是由于锁争用

更改优先级不会解决任何一个问题。

关于C linux pthread线程优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374902/

相关文章:

c - 初始化数组时出现段错误

c - ASCII 表 - 负值

linux - 如何在自定义Linux(特别是树莓派)上添加启动屏幕

java - 发布自定义事件并在基于 Spring MVC 的 Rest 应用程序中异步处理它

c - C中不一致的声明和定义

c - execlp() 系统调用输出错误

linux - SSH 代理转发特定 key 而不是所有已注册的 ssh key

linux - Docker 主机配置有错误的 IP 地址

python - 多线程 TCP 套接字

Android 默认线程及其使用