|
|
1
0
同样的问题实际上也适用于切换到另一个任务的情况,因为另一个任务在同一点保存了它的上下文(它将要切换到第二个任务)。使用
或者,你可以使用
|
|
|
2
1
当线程调用
|
|
|
3
0
你的话很合理
|
|
|
4
0
如果除了当前线程之外没有其他线程可以运行,那么除了从yield返回之外就没有别的事情可做了。不过,在这种情况下,我不需要调用swapcontext——只要检测并返回。 我认为您实际上要处理的是在调用yield时没有线程(包括当前线程)时要做什么。处理这个问题的一个简单方法是拥有一个空闲线程,它只在运行队列(就绪线程)为空时运行。此线程可能只是:
这允许您的程序进入睡眠状态(通过暂停),直到信号发生。希望该信号将是使其他线程之一准备运行的某个事件,因此下一个yield调用将运行另一个线程,而不是再次运行空闲线程。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |