У меня есть два статических метода:
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()
, который будет выполняться в другом отдельном потоке или есть другой способ?