0

我已经研究过,我意识到实际上没有办法在 C# 中创建抢占式调度机制,对吗?
所以,我必须使用协作调度机制来模拟它。实际上我必须制作API,所以我的想法是使用一些Token,如果设置了该Token,那么我必须停止当前正在运行的Task,以更高的优先级运行Task,然后继续停止Task..所以,这是我的问题。我找不到停止任务并稍后继续的好方法,所以有什么办法可以做到这一点。我有一个想法,在设置该令牌之前在 while 循环中什么都不做,所以看起来我停止了该任务,然后继续(这只是模拟)..但我希望有一些更好的方法..另外我找到了 EventWaitHandle 类,但我不确定是否可以使用单个线程或任务进行管理。

实际上,我必须制作自己的调度器(当然不是什么好东西,只是模拟)..所以我必须给他任务优先级,调度器必须安排它,但如果在某个时刻我再添加一个任务,如果它具有更大的优先级,我必须停止当前任务,以更大的优先级运行任务,当这个任务完成时,我必须继续停止任务..所以我必须知道是否有任何好的方法来暂停任务(但没有使用Suspend功能,因为它会造成死锁,而且不好用)...

4

0 回答 0