gpt4 book ai didi

c++ - TerminateProcess 和死锁

转载 作者:搜寻专家 更新时间:2023-10-31 01:22:23 28 4
gpt4 key购买 nike

Windows 中的 TerminateProcess 函数真的会因为进程内的线程陷入死锁而挂起吗?

示例:进程 A 在进程 B 的控制下运行,现在进程 A 进入死锁状态,进程 B 检测到这一点并决定使用 TerminateProcess“杀死”进程 A。

能杀掉hung进程A吗?

最佳答案

是的,进程持有的所有内核对象都会被释放,包括锁。

TerminateProcess 的主要问题是进程在这件事上没有发言权:如果它持有任何全局状态(文件、共享内存等),那么您无法保证这些东西在进程之后处于一致状态被终止。

关于c++ - TerminateProcess 和死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908603/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com