gpt4 book ai didi

c++ - 如何删除从 CWinThread 派生的对象

转载 作者:行者123 更新时间:2023-11-28 03:12:31 24 4
gpt4 key购买 nike

我有这样的代码

X *m = new X(); // X - class derived from CWinThread;

m->CreateThread(CRREATE_THREAD);
m->b_AutoDelete = false;
x->ResumeThread;

在函数运行中,我有一些代码在循环中运行。

当我尝试执行 delete m 时,我经常遇到异常。

delete之前我需要做些什么吗,可能是m->Suspend或者其他什么?

代码在 Windows 7 上运行

最佳答案

这很难说,但它可能会崩溃,因为您在删除对象时有点像从线程脚下拉出地毯。

结束线程的好方法是先告诉它停止。这通常通过线程函数检查的 bool 标志来完成。它会让线程函数以一种很好的方式处理清理。完成后,可以使用另一个 bool 标志进行检查,然后您可以自由删除该对象。

关于c++ - 如何删除从 CWinThread 派生的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016908/

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