我有一个关于“使用pthread模拟线程调度程序”的项目。
我发现了几个问题:
1。线程生命周期是否与linux线程生命周期相同?
2. 代码执行调度的步骤(在pthreads中)需要一个示例。
3. 我可以实现自己的调度算法,还是必须使用像(set_sched_param,...)这样的pthreads的显式调度?
4. 有没有办法使用C跟踪进程调度(图形化)?
答案 0 :(得分:1)
我认为您所使用的是模拟某些操作系统的调度程序,使用pthreads作为实现的基础。您可以做的是为每个模拟线程创建一个pthread,并在操作系统的每个线程原语中对一个条件变量进行隐式等待。然后,您可以通过选择要发出信号的条件变量来决定何时运行哪个线程。我正在浏览细节(询问您是否需要更多信息),但实施起来相当简单。