【发布时间】:2018-05-09 14:15:41
【问题描述】:
我有两个静态方法:
bool getPicture(const std::string url, const std::string keywords ="")bool showPicture(wxStaticBitmap *viewer)
这些方法每个都执行单独的任务,因此,我希望每个方法都在单独的线程中执行。
#include <wx/thread.h>
// Declaration
class CThread : public wxThread {
public:
CThread() = default;
~CThread() = default;
void *Entry();
};
// Implementation
void* CThread::Entry() {
CPublic::getPicture(mainFrm::getInstance()->targetURL, CPublic::getConfigItem("settings/keywords").ToStdString());
// CPublic::showPicture(mainFrm::getInstance()->viewer_btmp);
return 0;
}
// Create an instance
wxThread *th = new CThread();
th->Create();
th->Run();
正如您在前面的代码中看到的,每个线程类中都有一个Entry() 方法,因此,我想要另一个Entry() 方法来将我的下一个方法showPicture() 放入其中。
我是否必须创建另一个具有另一个 Entry() 方法将我的 showPicture() 方法放入其中,以在另一个单独的线程还是有其他方法?
【问题讨论】:
-
也许
std::async可以帮助您解决问题。
标签: c++ multithreading wxwidgets