Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова потоки...


skywalker ©   (2002-03-06 17:48:00) 

Еще один вопрос...
Никто не встречался с проблемой подвисания потока, через какие-то
(скорее всего одинаковые) промежутки времени? При этом внешних причин нет никаких. В потоке я использую блокирующий сокет, созданный через API, и управляемый тоже через API. Может причина в нем? Зависание происходин не во время работы с сокетом а в произвольное время. Точнее, я заметил закономерность. У меня есть
несколько объектов, которые создаются в рантайме и указатели на них сохраняются в динамическом массиве. И вот каждый раз, когда
я получаю длинну массива или использую переменную, в которой
хранится эта длина, поток подвисает а потом идет дальше. Так же он подвисает, когда я использую recv или accept в операциях с сокетом. Вроде бы все симптомы описал...
Может у кого-нибудь встречалась подобная проблема?

thnx


Виктор Щербаков   (2002-03-11 11:31:00) [1]


> каждый раз, когда
> я получаю длинну массива или использую переменную, в которой
> хранится эта длина, поток подвисает а потом идет дальше


Может быть дело в том, что доступ к главной куче процесса осуществляется потоками последовательно?


bob5   (2002-03-11 11:02:00) [2]

У меня было тоже самое в потоке сохраненял измененные записи.
Использовал и критические секции и синхронизацию. Проблема с зависанием была точно такой же только чем чаще обращался к записи тем на дольше подвисал поток. при этом поток чтения работал и работает нормально. Пришлось отказаться от потока на запись.


Fellomena   (2002-03-06 18:54:00) [3]

Может поток обращается к каким-нибудь ресурсам, которые в критической секции распологаются и в момент обращения заняты другими потоками ? Может не крит. секция, а мьютекс или симафор ? Посмотри... А может дело в пресловутой вытесняющей многозадачности ;) Попробуй дельта-приоритет потоку повысь и посмотри что получится .


Наверх

Титульная страница Поиск, карта сайта Написать письмо