我有一个关于“用 pthread 模拟线程调度程序”的项目。
我发现了几个问题:
1.线程生命周期和linux线程生命周期一样吗?
2.调度发生在代码的哪一步(在pthreads中),需要一个例子。
3.我可以实现自己的调度算法,还是必须使用 pthreads 的显式调度,如 (set_sched_param, ...)?
4. 有没有一种方法可以使用 C 来跟踪进程调度(以图形方式)?
最佳答案
我假设您正在为某些操作系统模拟一个调度程序,使用 pthreads 作为您实现的基础。您可以做的是为每个模拟线程创建一个 pthread,并在操作系统的每个线程原语中对条件变量进行隐式等待。然后,您可以通过选择要发出信号的条件变量来决定何时运行哪个线程。我掩盖了细节(询问您是否需要更多信息),但实现起来相当简单。
关于c - pthread调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21333200/