【发布时间】:2011-04-19 07:46:18
【问题描述】:
通常说多线程程序是不确定的,这意味着如果它崩溃,几乎不可能重新创建导致该情况的错误。人们永远不知道接下来会运行哪个线程,以及何时再次被抢占。
当然,这与操作系统线程调度算法有关,而且人们不知道接下来要运行哪个线程,以及它会有效运行多长时间。 程序执行顺序也有影响,等等……
但是,如果您有用于线程调度的算法,并且如果您可以知道什么线程正在运行,那么多线程程序是否会变得“确定性”,例如,您将能够重现崩溃?
【问题讨论】:
-
可能在未来,有些机器不允许多线程编程,有一些库框架可以模拟多线程环境,然后你可以回溯并重现错误。
标签: multithreading non-deterministic