Форум: "WinAPI";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
ВнизИ снова потоки... Найти похожие ветки
← →
skywalker (2002-03-06 17:48) [0]Еще один вопрос...
Никто не встречался с проблемой подвисания потока, через какие-то
(скорее всего одинаковые) промежутки времени? При этом внешних причин нет никаких. В потоке я использую блокирующий сокет, созданный через API, и управляемый тоже через API. Может причина в нем? Зависание происходин не во время работы с сокетом а в произвольное время. Точнее, я заметил закономерность. У меня есть
несколько объектов, которые создаются в рантайме и указатели на них сохраняются в динамическом массиве. И вот каждый раз, когда
я получаю длинну массива или использую переменную, в которой
хранится эта длина, поток подвисает а потом идет дальше. Так же он подвисает, когда я использую recv или accept в операциях с сокетом. Вроде бы все симптомы описал...
Может у кого-нибудь встречалась подобная проблема?
thnx
← →
Fellomena (2002-03-06 18:54) [1]Может поток обращается к каким-нибудь ресурсам, которые в критической секции распологаются и в момент обращения заняты другими потоками ? Может не крит. секция, а мьютекс или симафор ? Посмотри... А может дело в пресловутой вытесняющей многозадачности ;) Попробуй дельта-приоритет потоку повысь и посмотри что получится .
← →
bob5 (2002-03-11 11:02) [2]У меня было тоже самое в потоке сохраненял измененные записи.
Использовал и критические секции и синхронизацию. Проблема с зависанием была точно такой же только чем чаще обращался к записи тем на дольше подвисал поток. при этом поток чтения работал и работает нормально. Пришлось отказаться от потока на запись.
← →
Виктор Щербаков (2002-03-11 11:31) [3]
> каждый раз, когда
> я получаю длинну массива или использую переменную, в которой
> хранится эта длина, поток подвисает а потом идет дальше
Может быть дело в том, что доступ к главной куче процесса осуществляется потоками последовательно?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c