@Adam_Dee

Как создать новый поток внутри метода класса?

Не могу найти способ, чтобы организовать внутри метода класса возможность использовать многопоточность....
Нужно из одного метода вызвать в разных потоках другой метод для обработки данных.
Уже всё что можно было найти перечитал, но не нашёл прямого и чёткого ответа, как это можно сотворить.
Кто разбирается хорошо в многопоточности, пожалуйста подскажите как решить эту дилемму на простом примере ниже:

#include <thread>
#include <iostream>

    class A 
    {
    public:

        auto Zoom() {
            while (true)
            {
                cout << "Go Go" << endl;
            }
        }

        auto foo() {
            thread a(Zoom);
            a.join();
        }
    };
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
В документации есть пример:
std::thread t5(&foo::bar, &f); // t5 runs foo::bar() on object f


У вас надо cделать: std::thread t5(&A::Zoom, this);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы