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