![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Гость_Игорь |
|
|||
|
Unregistered |
Ситуация:
Есть TObjectList (список указателей на что-нибудь) и есть два потока. Первый из них добавляет указатель в список, а второй удаляет. Написал код, который синхронизирует эти два потока, Вроде работает, но не знаю как проверить, есть большие сомнения - все ли правильно здесь. Прошу заценить код и указать грабли. Правилен ли подход к задаче вообще?
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
see TThreadList.
-------------------- |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Вообще то для таких целей (взаимоисключающий доступ к данным из разных потоков) надо использовать критические секции. Или, как уже сказал Pegas, воспользоваться готовым, TThreadList. А для профилактитки, почитай очень хорошую статью о потоках -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Хорошая статья Петрович. Спасибо за линк.
-------------------- |
|||
|
||||
| Гость_Игорь |
|
|||
|
Unregistered |
Спасибо за статью.
Я уже ее читал. Т.е., как я понял, нормальным считается использование критических секций. А почему ? Так надежней? И использовать TEvent в таких случаях нецелесообразно ? |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Просто каждый инструмент для своих целей. Ведь молотком суп есть можно, но неудобно. TEvent обычно используется для сообщения заинтересованным лицам (ожидающим потокам) о возникновении некоторого события, что впротчем следует из его названия. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Гость_Игорь |
|
|||
|
Unregistered |
Собственно это я и хотел услышать.
Просто по неопытности своей сомневался - чем лучше воспользоваться Спасибо всем. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |