![]() |
1
11
不。 在我曾经工作过的每一个环境中,挂起线程都是不可取的。主要的问题是,线程在持有某个资源上的锁时可能被挂起,这可能导致死锁。任何保存在同步对象方面的资源都不值得冒死锁风险。 当让线程等待时,这不是一个问题,因为线程本身控制着它自己的“暂停”,并且可以确保释放它持有的任何锁。 如果您在 SuspendThread ,您将看到它是供调试人员使用的。如果可以的话,从任何应用程序代码中删除它。 为了说明我的观点,我遇到的“请勿使用”悬挂方法列表如下: 顺便提一句,我真的很惊讶在.NET中的thread.suspend在1.0/1.1中得到了“支持”,从一开始它就应该是值得警告的。 |
![]() |
2
2
如果您希望能够唤醒一个特定的线程,那么您将需要为每个线程提供一个单独的事件对象。这将导致更高的内核对象消耗,这本身就不好,可能会导致早期版本的Windows出现问题。通过手动恢复,您不需要任何新的内核对象。 |
|
vini · 安装wfp内核驱动程序后,devcon状态返回39 2 年前 |
![]() |
I101I · 如何镜像HBITMAP 2 年前 |
![]() |
E235 · 如何查看谁创建了Windows NamedPipe 2 年前 |
![]() |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 2 年前 |
![]() |
Jabu · 如何获取列表框滚动条“拇指”的高度? 2 年前 |
![]() |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 2 年前 |
![]() |
Penachia · PDF FontDescriptor标志 6 年前 |