Hello HAS, you wrote:
>> Данная проверка бессмысленна, т.к. EnterCriticalSection ГАРАНТИРУЕТ, что данный блок выполняется только одним потоком.
> тогда почему срабатывает данное исключение?
Какое исключение?
>> Что не работает?
> вроде как работает, но: один раз может отработать без задоринки, в другой раз может просто выдать "out of memory", в третий — подвиснуть... причем пытался уже статически задавать последовательность страниц, та же история...
Это нужно смотреть что у вас в ParsePage(Thread->Page);
>> Кроме того, критическую секцию нужно ставить не на всю функцию, а только на те места где идет обращение в разделяемым ресурсам, т.е. ресурсам к котором возможен доступ из нескольких потоков.
> а как быть если мне необходимо, чтобы весь этот блок кода был выполнен без прерывания одним потоком, т.е. чтобы в этом блоке в ходе выполнения не было переключения между потоками?
Зачем? Какой вам тогда вообще смысл в многопоточности если вы ее накорню прибиваете.
--
Всего хорошего, Слава
ICQ: 197577902
Posted via RSDN NNTP Server 2.0