| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Взаимодействие двух потоков. |
| Автор: Гость_Игорь 2.7.2005, 22:49 | ||
| Ситуация: Есть TObjectList (список указателей на что-нибудь) и есть два потока. Первый из них добавляет указатель в список, а второй удаляет. Написал код, который синхронизирует эти два потока, Вроде работает, но не знаю как проверить, есть большие сомнения - все ли правильно здесь. Прошу заценить код и указать грабли. Правилен ли подход к задаче вообще?
|
| Автор: Medved 4.7.2005, 05:40 |
| see TThreadList. |
| Автор: Петрович 4.7.2005, 11:01 | ||
Вообще то для таких целей (взаимоисключающий доступ к данным из разных потоков) надо использовать критические секции. Или, как уже сказал Pegas, воспользоваться готовым, TThreadList. А для профилактитки, почитай http://mbo88.narod.ru/ToC.html |
| Автор: Medved 4.7.2005, 14:22 |
| Хорошая статья Петрович. Спасибо за линк. |
| Автор: Гость_Игорь 4.7.2005, 19:42 |
| Спасибо за статью. Я уже ее читал. Т.е., как я понял, нормальным считается использование критических секций. А почему ? Так надежней? И использовать TEvent в таких случаях нецелесообразно ? |
| Автор: Петрович 5.7.2005, 22:36 | ||
Просто каждый инструмент для своих целей. Ведь молотком суп есть можно, но неудобно. TEvent обычно используется для сообщения заинтересованным лицам (ожидающим потокам) о возникновении некоторого события, что впротчем следует из его названия. |
| Автор: Гость_Игорь 6.7.2005, 11:55 |
| Собственно это я и хотел услышать. Просто по неопытности своей сомневался - чем лучше воспользоваться Спасибо всем. |