【问题标题】:using clock() as a thread to time other threads使用时钟()作为线程来计时其他线程
【发布时间】:2014-10-27 05:40:11
【问题描述】:

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

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

编辑 1。 对于时钟线程:-
第 21 个线程
其余 20 个线程可以访问,以便它们可以计时到达、执行、终止等。
时钟只是应该给其余线程一个固定的时间间隔,以便它们相应地运行

【问题讨论】:

  • 时钟线程应该做什么?

标签: c multithreading pthreads clock


【解决方案1】:

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

你的时钟线程可能有一些使用poll(2)的事件循环

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多