c - pthread调度

标签 c multithreading pthreads scheduling

我有一个关于“用 pthread 模拟线程调度程序”的项目。

我发现了几个问题:
1.线程生命周期和linux线程生命周期一样吗?
2.调度发生在代码的哪一步(在pthreads中),需要一个例子。
3.我可以实现自己的调度算法,还是必须使用 pthreads 的显式调度,如 (set_sched_pa​​ram, ...)?
4. 有没有一种方法可以使用 C 来跟踪进程调度(以图形方式)?

最佳答案

我假设您正在为某些操作系统模拟一个调度程序,使用 pthreads 作为您实现的基础。您可以做的是为每个模拟线程创建一个 pthread,并在操作系统的每个线程原语中对条件变量进行隐式等待。然后,您可以通过选择要发出信号的条件变量来决定何时运行哪个线程。我掩盖了细节(询问您是否需要更多信息),但实现起来相当简单。

关于c - pthread调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21333200/

相关文章:

c++ - 进程C的动态池

c# - 我可以摆脱这个可怕的阻止代码吗?

python - 如何在Python中的串行函数中运行并行函数?

c++ - 如何同步不同数量的线程?

与 pthreads 并发,一个典型的不当行为

c++ - 公开MP瓶颈问题

c++ - 没有 mysql_config 的 MariaDB C 连接器

c - 信号处理程序在我的 C http 服务器上不工作

c++ - volatile 与内存栅栏

c - 二维数组转化为指针