为什么SuspendThread(或任何这样的函数)不安全?

时间:2014-02-23 03:08:33

标签: multithreading garbage-collection

我正在写一个增量gc。当GC搜索线程的堆栈时,线程不得触及其堆栈。但是使所有访问堆栈关键部分太昂贵了。所以我想在gc搜索其堆栈时暂停该线程。但我听说SuspendThread(或任何这样的函数)不安全。为什么?

1 个答案:

答案 0 :(得分:2)

有一个不可避免的,致命的问题:如果你挂起的线程持有一个锁,暂停它的线程需要采取什么,例如内存分配器上的锁或某个系统库内的锁?的轰!