powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компонент и многопоточность
3 сообщений из 3, страница 1 из 1
Компонент и многопоточность
    #33123175
tors
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс унаследованный от TControl.
У него есть метод,в котором выполняется цикл на несколько тысяч итераций.
При вызове этого метода из основной программы она на несколько минут виснет.

Вижу выход: вынести этот метод в отдельный поток.
Класс, как положено, в отдельном модуле и класс потока в отдельном модуле.
Но как вынести метод в отдельный поток, ведь нету экзэмпляра класса(он создается в модуле главной формы). Есть только сам класс
C ув. Tors
...
Рейтинг: 0 / 0
Компонент и многопоточность
    #33123239
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не смог понять, в чём проблема. Предупреждение: экземпляр компонента должен создаваться внутри метода Execute класса TThread, иначе он окажется принадлежащим основному потоку (особенность VCL), И если компонент будет что-то выводить в экранную форму, эту операцию надо синхронизировать, например, с помощью функции Synchronize().
...
Рейтинг: 0 / 0
Компонент и многопоточность
    #33124189
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПри вызове этого метода из основной программы она на несколько минут виснет.

Вижу выход: вынести этот метод в отдельный поток.
не вижу логики
- сами пишите цикл и загружаете процессор на 100% и жалуетесь, что прога виснет :).
- что в вашем понимании "виснет"? Если не перерисовывается окно, то вставьте в цикл перерисовку или обработку очереди сообщений. Если Вам надо работать с прогой во время цикла (вызывать меню), тогда да! Совсем другой класс проги и потоки...... и оператор проги, который делает 10 дел одновременно на ней . :)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компонент и многопоточность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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