Здравствуйте, lumf, Вы писали:
L>проблема такая:есть 10 потоков
L>один из них делаем Thread.Sleep(5000), но при этом по непонятной причине засыпают все потоки.
L>куда копать? уже запарился
Код в студию, мой телепатический приемник сломался.
Если на вскидку, похоже на то, что спящий поток блокировал какие то объекты синхронизации, а остальные ждут разблокировки.
Здравствуйте, lumf, Вы писали:
L>проблема такая:есть 10 потоков
L>один из них делаем Thread.Sleep(5000), но при этом по непонятной причине засыпают все потоки.
L>куда копать? уже запарился
sleep неотпускает залоченный объект, используй wait(....) на том объекте который нужно отпустить.
Здравствуйте, Nickolay Ch, Вы писали:
NC>Код в студию, мой телепатический приемник сломался. NC>Если на вскидку, похоже на то, что спящий поток блокировал какие то объекты синхронизации, а остальные ждут разблокировки.
Код слишком геморный для того чтобы в него выткать
Сейчас обнаружил такую вещь.
Я назвал все эти потоки.
но когда собирался заблокировать поток
написал
Err.Write (Thread.CurrentThread.Name + " sleep");
на что получил просто "sleep"
О чем это говорит? Что я заблокировал не тот поток который хотел?
И еще, если я заблокирую главный поток, дочерние тоже заблокируются?
Здравствуйте, lumf, Вы писали:
L>Все разобрался, вопрос снят. не внимательность предыдущего программиста
На уровне телепатии догадывабсь, что господа "программисты" заняты деланием лабы по ПСиПВ...
И ВУЗ наверное очень технический. Судя по орфографии... МЭИ наверное...