C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Параллельное (одновременное) выполнение функций, Каким образом это сделать?
Дмитрий
  Отправлено: 10.01.2004, 22:03


Не зарегистрирован







Подскажите, как в Builder'e имея допустим 2, 3, или более функций, работающих с однотипными компонентами (например Label или PaintBox), и проделывающих с ними ПОЧТИ одинаковые изменения, запустить их всех сразу? Чтобы эти изменения происходили параллельно.

Спасибо.
Георгий
Отправлено: 11.01.2004, 12:11


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



если не рассматривать экстримальные методы работы, то остаются всего 2 способа, но гарантированно работающие:
1 — потоки изменяют содержимое компонентов в методе TThread::Synchronize
2 — потоки изменяют значения глобальных переменных (int, AnsiString и т.п.), при необходимости можно использовать объекты синхронизации (например TMultiReadWriteExclusiveSynchronizer), а обновление значений экранных компонентов выполнять по таймеру.

при этом я делал предположение, что функции которые должны работать параллельно были оформлены как потоки (TThread)

Вернуться в Вопросы программирования в C++Builder