使用clock()作为线程来计时其他线程

时间:2014-10-27 05:40:11

标签: c multithreading pthreads clock

我是c语言中的调度和多线程的新手,我正在尝试使用C语言在MLFQ调度程序中处理我的进程来实现20threads 我希望我的第21个线程是时钟线程,并且所有到达,执行和完成时间都是时间。

如何将最后一个线程作为时钟一?并且它们是将最后一个线程连接到所有进程线程的简单方法吗?

编辑1。 对于时钟线程: -
第21号线 可以通过剩余的20个线程访问,以便他们可以计时到达,执行,终止等 时钟应该定期为线程的其余部分留出时间,以便它们相应地起作用

1 个答案:

答案 0 :(得分:0)

在Linux上,先阅读time(7)& pthreads(7)& sched(7)& signal(7)。然后使用pthread_getcpuclockid(3)clock_gettime(3)。请记住,内核的调度程序可以随时将任何线程从CPU迁移到另一个线程! 另请参阅其他syscalls(2),特别是sched_setaffinity(2)pthread_setaffinity_np(3)cpuset(7)proc(5)

您的时钟线程可能使用poll(2)

进行一些事件循环