powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функция-член класса в отдельном потоке
6 сообщений из 6, страница 1 из 1
Функция-член класса в отдельном потоке
    #33303079
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в Visual C++ вызвать функцию член класса в отдельном потоке из другого метода этого же класса?
Подробнее: класс - диалоговое окно. Функция, которую я хочу вызывать в отдельном потоке - выполняет SQL-запрос к базе и возвращает определенное int-значение, которое я должен вывести в визуальную компоненту на диалоговом окне.
Или это невозможно? Или существует более "правильный" вариант? Может быть, оформить функции отдельным классом?
...
Рейтинг: 0 / 0
Функция-член класса в отдельном потоке
    #33303108
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не уверен верно ли я понял проблему, попробую высказаться.

api функции создания потока требуют просто функцию которая будет выполнятся парралельно. Сдесь ей метод класса не подсунешь.
Но ей можно передать dword параметр(под никс тоже передаетя) в котором можно передавать указатель к классу и уже в процедуре вызывать нужный метод. типа так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DWORD TAKTHREAD_entry(void * v)
{
 TAKTHREAD* t=(TAKTHREAD*)v;
 t->entry();
 ExitThread( 0 );
 return  0 ;
}
...
Рейтинг: 0 / 0
Функция-член класса в отдельном потоке
    #33304612
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаешь нестатическую функцию, которую будешь вызывать. Она должна вызвать begin_thread_ex , передав ей адрес статической функции твоего класса (или глобальную -friend) и ссылку на объект в качестве PVOID, та в свою очередь (будучи вызвана уже в отдельном потоке) может вызвать нестатическую функцию твоего класса, используя переданный объект из PVIOD. Итого нужно 3 функции, одна статическая и две -нет.

Только вот выполнять запрос в отдельном потоке -- занятие очень сомнительной полезности.
...
Рейтинг: 0 / 0
Функция-член класса в отдельном потоке
    #33306148
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivТолько вот выполнять запрос в отдельном потоке -- занятие очень сомнительной полезности.
Дело в том, что запрос выполняется около 0.5-1 сек, и в это время программа "подвисает"...
Может ли быть другой вариант?
...
Рейтинг: 0 / 0
Функция-член класса в отдельном потоке
    #33307590
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так запрос надо тюнить, а не клиента.
...
Рейтинг: 0 / 0
Функция-член класса в отдельном потоке
    #33308120
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос потюнен по-максимуму - дальше некуда...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функция-член класса в отдельном потоке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]