On Sun, 05 Mar 2006 19:35:26 +0600, HAS <36274@users.rsdn.ru> wrote:
>> Это нужно смотреть что у вас в ParsePage(Thread->Page);
> на данный момент там PushPage(Addresses[random(AddressCounts)]); т.е. просто добавление страницы в очередь
Хм... кстати, может менеджер памяти не знает про многопоточность и начинают лезть глюки с памятью?
По поводу зависаний: если зависло и при этом не есть процессорное время, то дело явно в deadlock.
В любом случае это нужно все прогнать под отладчиком.
>> Зачем? Какой вам тогда вообще смысл в многопоточности если вы ее накорню прибиваете.
> почему?
Не, если функция состоит всего из одной простой операции, то все нормально. Но если там что-нить посложнее, то получится что остальные потоки вместо того чтобы делать свое дело будут тупо ждать пока функция завершит свою работу, что не есть хорошо.
Как я уже говорил, синхронизировать доступ нужно не к функциям, а к разделяемым ресурсам. В вашем случае — это та очередь с которой вы работаете.
--
Всего хорошего, Слава.
ICQ: 197577902
Posted via RSDN NNTP Server 2.0