Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744

Многопоточность. Создать визуальный объект по завершению потока

02.02.2012, 13:23. Показов 1382. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По окончанию работы потока необходимо создавать на форме определенное количество TButton'ов, с определенными параметрами..
Как быть? Создавать их в самом потоке или же каким-то образом вернуть основному потоку(главному) информацию о предстоящей задаче и создать их в основном?

Добавлено через 14 часов 0 минут
Можно ли в дочернем потоке создавать визуальные vcl-объекты?
Если да, то, что лучше использовать критические разделы или мьютексы
Кто знает, прошу поделиться опытом
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2012, 13:23
Ответы с готовыми решениями:

Как создать многопоточность из одного асинхронного потока?
есть данная процедура: private async void button2_Click(object sender, EventArgs e) { foreach (var item in...

Почему flask_socketio.disconnect препятствует завершению потока?
Есть следующая система: - - . Коннектор - это своего рода промежуточный код между веб-сервером и источником данных. Мне нужно...

Многопоточность: вызвать метод главного потока из второстепенного потока
Здравствуйте. Эта тема всеми избита, знаю. Но у меня очень ограничено время, поэтому рискую и пишу вопрос тут: Пишу приложение...

2
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
02.02.2012, 15:11
Лучший ответ Сообщение было отмечено __bool как решение

Решение

VCL в большой мере не является потока безопасной библиотекой. Да еще если мне не изменяет память большинство компонентов выполняются только в контексте главного потока. От сюда вывод: не создавать в потоке компонент пока не найдете в документации, что он потоко безопасный.

Мьютексы - самая медленная реализация синхронизации, но зато виден не только из своих потоков, но и из других процессов.
Критические разделы - самая быстрая синхронизация.

Критические разделы пример:
Вот определения моего класса для работы с данными в потоке (остальной свой код удалил)
hpp
C++
1
2
3
4
5
struct CRITICAL_SECTION_DATA
{
 TRTLCriticalSection critical_section;
 CRITICAL_SECTION_DATA();
};
Вот конструктор для автоматического создания секции
cpp
C++
1
2
3
4
CRITICAL_SECTION_DATA::CRITICAL_SECTION_DATA()
{
InitializeCriticalSection(&critical_section);
}
Вот функция в потоке которая обрабатывает данные и обращение к этим данным из других потоков должно быть запрещено
C++
1
2
3
4
5
6
void OpcThreadInput::ExeAlgoritm()
{
 EnterCriticalSection(&data_group->critical_section); запретил обращаться к данным экземпляра класса data_group
// сдесь обработка данных
 LeaveCriticalSection(&data_group->critical_section); открыл доступ к данным
}
1
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
02.02.2012, 15:35  [ТС]
Примерно так же делаю:
Как то странно у меня темы переплелись..
Вот результат работы моей программы используя Критические секции
Synchronize Передача параметров
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2012, 15:35
Помогаю со студенческими работами здесь

Возможно ли в RichEdit вставить визуальный объект и прикрепить к определенной линии?
Привет всем. Возможно ли в ричедит вставить визуальный объект и прикрепить к определенной линии? Пример - при приеме\отдачи файла по асе....

Многопоточность. Время работы потока
Здравствуйте суть состоит в том чтобы пользователь указал максимальное время выполнения работы при завершении которого обработка должна...

Многопоточность. Пауза и Возобновление потока
Вот мои эксперименты с потоками в Java! Пауза потока работает, но поток не хочет возобновляться main.java package main; public...

Многопоточность. Управление потоками из главного потока
Добра! Читал в интернете про потоки в Java и возник вопрос, например есть поток "player" и в нем воспроизводится аудиофайл ...

Многопоточность. Как завершить неисполльзуемые потоки из главного потока
Привет. Буду рад любым идеям и замечаниям. Пишу многопоточный сокет сервер. Архитектура такая. Есть форма. На форме кнопка. Кнопка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru