对于作为虚拟机的(宠物)项目(用纯C编写),我正在开发一种线程机制。一些注意事项可以更好地理解问题:
现在问题是:
基于线程调度程序应该判断为什么,是时候自动切换到新线程(不考虑线程控制,线程完成或创建)?
我正在考虑以下解决方案:
mov ax, 13
因此它将始终完成它,不会在{{之后切换1}})。你有什么建议?
答案 0 :(得分:1)
一些随意的想法......取决于你的VM创建的原因。如果它模拟一些具有周期精度左右的实际或可想象的硬件,你必须遵循它的规范(我想在这种情况下你不会问这个问题:))。否则,我会将VM的性能视为最优先考虑的因素之一,因此,类似第二种解决方案听起来很合理,因为它看起来更加缓存友好。但是,除了文字时间片之外,我还考虑了一些基于缓冲区大小的限制,因为它再次更接近缓存效率。