标签: multithreading garbage-collection
我正在写一个增量gc。当GC搜索线程的堆栈时,线程不得触及其堆栈。但是使所有访问堆栈关键部分太昂贵了。所以我想在gc搜索其堆栈时暂停该线程。但我听说SuspendThread(或任何这样的函数)不安全。为什么?
SuspendThread
答案 0 :(得分:2)
有一个不可避免的,致命的问题:如果你挂起的线程持有一个锁,暂停它的线程需要采取什么,例如内存分配器上的锁或某个系统库内的锁?的轰!强>