Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Ну в принципе легально, если только другие потоки не будут... 07.10.09 07:41 Число просмотров: 6677
Автор: void <Grebnev Valery> Статус: Elderman
|
> Я вроде бы всё что нужно синхронизировал > (Semaphore/Event/WaitForSingleObject и всё такое). > Единственное, что я разрешаю не синхронизированный доступ к > глобальным переменным, которые только для чтения > используются. Но ведь это вроде бы легальная комбинация?
Ну в принципе легально, если только другие потоки не будут обносвять эти переменные, и оптимизирующий компилятор не поместит их в регистр. Может volatile попробовать?
> > И если несинхронизированные места являются причиной > исключений в многоядерной системе, то они и же наверно > должны и в одноядерной исключения давать
Нет не так. То, что проявляется в много процессорной системе, может непроявитья или проявляться очень редко в многопроцессорной. В однопроцессорной ситеме только один поток может выполняться в одно и тоже время (если нет всяких конвееров, гипертрединга).
> Пул? Он у меня есть. Просто у меня в программе > настраивается число параллельно работающих потоков. И 1000 > потоков для решения моей задачи дают лучшие показатели.
Возможно. Но на однопроцессорном PC только один поток работает. Остальные отдыхают- будучи зашедулены или нет.
|
|
|