当前线程终止后如何安排?

时间:2012-09-15 16:04:46

标签: stack scheduled-tasks round-robin

我正在创建一个用户定义的线程库。我使用Round-Robin调度算法并使用context switching方法。但是,当线程在分配的time slot之前完成执行时,我无法知道该怎么做。该计划正在终止。我实际上想通过在当前线程终止时调用schedule函数来重新安排所有线程。

我找到了两种方法来克服这个问题。

  1. 通过在当前线程正在执行的函数末尾显式调用thread_exit函数。
  2. 通过更改stack contents,以便在当前函数终止后执行thread_exit函数。
  3. 但我无法找到如何应用这些解决方案.... 那里的任何人......请帮助我...

1 个答案:

答案 0 :(得分:0)

听起来你有一点设计缺陷。如果我正确地理解你,你正在尝试实现一个解决方案,你可以分配线程来执行某些任务,并在任务完成后,线程空闲等待下一个任务。

如果这是真的,我想我会设计类似守护进程或服务来管理进入任务的队列,一个负责执行任务的线程池,用于监听新任务的控制器。