将“this”指针传递给自由线程

时间:2016-05-21 03:26:37

标签: c++ multithreading

我正在寻找一个模式或一组类来处理以下事项:

我有一个类,它将启动一个“子线程”,它将运行一些代码,然后在启动它的类上进行回调。

启动线程并等待回调的对象有可能在函数返回时被销毁。我已经想过滚动我自己的解决方案,我将“this”指针包装在一组类中:

  1. 允许调用者“通知”将要使用“this”指针的线程,它指针不再有效,因为它正在被破坏。
  2. 允许“子线程”在进行回调时阻止“this”指针的销毁。
  3. 我的想法是,我正在寻找一种方法来获得一个“自由”线程(即调用了thread :: detach)来对一个可能被破坏但没有抛出异常的对象进行回调。

    基本上我有一些UI元素正在启动线程,将回调函数作为“continuation”传递。问题是在新线程完成时可能会破坏UI元素。

0 个答案:

没有答案