在进程中调度线程
Scheduling threads within a process
假设我有一个有4个线程的进程,我希望它们根据特定的调度算法运行。我搜索并找到了用于选择算法和设置线程优先级的pthread_setschedparam
和sched_setschedparam
函数,但我看到了一件不清楚的事情——pthread_setschedparam
使用线程名称并设置自己的调度策略。这具体意味着什么,因为我认为进程中的所有线程都是根据一个为整个进程设置的策略进行调度的。这是否意味着,如果我使用sched_setschedparam
并设置一个策略(因为它通过进程的PID指代进程),它将确保该进程中的线程根据所选的调度策略运行?
我正在编写的代码是为Linux编写的,我使用了boost,但这部分不得不使用pthreads。
pthread_setschedparam
设置单个线程的调度参数。CCD_ 6设置用于整个过程的调度参数。不同的线程确实可以具有不同的调度策略。
相关文章:
- 更改线程实时调度策略失败:config_rt_group_sched = y
- 从调度队列块 [ swift / c++ ] 创建线程
- 用管道在C++中创建调度队列/线程处理程序:FIFO溢出
- C 1Z Coroutine线程上下文和Coroutine调度
- 在多线程中调度任务
- 在进程中调度线程
- 调度线程时的 void* 指针转换
- 如何确定流程的"经理"和"工作线程"线程的优先级(或为其设置调度策略)?
- 如何在 C++11 中调度线程
- Android 的 c++11 多线程问题,其中某些线程未正确调度
- 在后台线程上创建的调度程序未关闭时会发生什么情况?如何确保调度程序已正确关闭
- 线程调度程序模拟:唤醒和睡眠Pthread的正确方法
- xiAPI:无法更改线程调度程序,请检查实时优先级的用户限制
- 大中央调度块线程安全吗?
- 调度基于Posix的线程
- 如何调度/创建用户级线程,以及如何创建内核级线程
- 在Qt应用程序中自定义线程调度
- 调度大量线程,因此只有4个线程并行执行
- 如何在 boost::wait_for_any 中正确调度任务,同时考虑到线程数
- 如何使用boost::asio::io_service在c++ 11线程之间调度作业