Итак, я провел некоторое исследование и обнаружил, что вы можете создать объект boost :: thread и начать его с нестатической функции класса, используя «this», boost :: bind и т. Д. На самом деле это не так.имеет большой смысл для меня, и во всех примерах, которые я смог найти, объект boost :: thread был запущен в том же классе, что и функция, с которой он начинал, так что это можно использовать.Я, однако, запускаю поток в другом классе, поэтому, боюсь, используя «this», я буду говорить, что «this» принадлежит классу, из которого я создаю поток, а не тому, в котором находится функция (Я, наверное, не прав, мне нужно больше узнать об этом "этом" парне).Вот пример моего источника, с которым у меня проблема:
ANNGUI.h
class ANNGUI
{
private:
boost::thread *GUIThread;
Main *GUIMain;
public:
// Creates the entire GUI and all sub-parts.
int CreateGUI();
}
ANNGUI.cpp
int ANNGUI::CreateGUI()
{
GUIMain = new Main();
GUIThread = new boost::thread(GUIMain->MainThreadFunc);
};
Это не всеисточник, но я думаю, что моя проблема где-то здесь, я знаю, что должен как-то иметь дело с «этим», но я не уверен, как.Я мог бы использовать статическую функцию, но я действительно не хотел делать мои переменные статичными.Спасибо.
Кроме того, есть ли очень хороший ресурс для использования каких-либо библиотек повышения?Документация на их веб-сайте кажется хорошей, но у меня над головой.