Итак, я провел некоторое исследование и обнаружил, что вы можете создать объект boost:: thread и начать с нестатической функции класса с помощью "this" и boost:: bind и т.д. Это действительно не имеют для меня большой смысл, и все примеры, которые я смог найти, имели объект boost:: thread, запущенный в том же классе, что и функция, с которой он начинался, поэтому это можно было бы использовать. Тем не менее, я запускаю поток в другом классе, поэтому, боюсь, используя "this", я буду говорить, что "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);
};
Это не весь источник, но я думаю, что моя проблема здесь где-то, я знаю, что мне приходится иметь дело с "this", но я не уверен, как это сделать. Я мог бы использовать статическую функцию, но я действительно не хотел, чтобы мои переменные были статическими. Спасибо.
Кроме того, есть ли какой-либо очень хороший ресурс для использования каких-либо ускорительных библиотек? Их документация на веб-сайте кажется хорошей, но над моей головой.