| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Запуск метода в отдельном потоке |
| Автор: batex 6.8.2012, 12:35 | ||
| Добрый день. Есть класс MainClass. Необходимо из одного метода этого класса запустить другой в другом потоке. Метод нельзя делать статиком. Необходимо оставить все вкусности ООП. Т.е.
Гугл пока что не очень помог. Есть какие нибудь идеи? |
| Автор: saneea 6.8.2012, 13:31 |
| Ну на чистом C++ никак такое не сделать. Нужно использовать WinAPI (ну или Qt, boost как обёртки). |
| Автор: boostcoder 6.8.2012, 13:38 | ||
http://liveworkspace.org/code/5e1eab966cb443ba57b8d2f1e5693b22:
Добавлено @ 13:39 легко. std::list+std::thread+std::bind |
| Автор: EnergoHokum 6.8.2012, 13:54 |
| http://rsdn.ru/Forum/Info/FAQ.cpp.threadandmember.aspx. |
| Автор: saneea 6.8.2012, 16:02 | ||
спасибо, буду знать, что новый стандарт C++ знает, что такое потоки! |
| Автор: borisbn 7.8.2012, 09:27 | ||
не очень понял, зачем в данном случае нужен list Вот самое простое, что можно сделать для задачи ТС
http://liveworkspace.org/code/8bdc1ded8c79e39e4a0694e20a8375b7 Кста, тут и bind не потребовался |
| Автор: boostcoder 7.8.2012, 09:50 |
а есть гарантия что выполнение предыдущего метода завершится раньше чем ты решишь выполнить еще один? |
| Автор: boostcoder 7.8.2012, 10:41 |
в каком кол-ве? почему именно в таком? чем ограничивается? интеллектуальный пул? есть ли вообще в этом смысл? |
| Автор: baldina 7.8.2012, 13:59 | ||
это вопросы к разработчику класса хотя абстрактную сферическую задачу сформулировать могу, например - рассылка спама. упомянутая функция берет из базы адрес, куда еще не было рассылки, шлет письмо и обновляет базу. цель - разослать письма всем адресатам из базы. допустим в данных класса только информация о соединении к базе и сам запрос, значит данные класса не модифицируются, так что даже блокировок не надо (это задача базы). вот эту функцию и можно параллелить Добавлено через 46 секунд повторюсь, это не мой метод, просто модель ответа на конкретный вопрос)))) |