Показать сообщение отдельно
  #6  
Старый 24.11.2012, 17:28
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от MarlboroRed
http://www.cyberguru.ru/delphi/threads.html

Тут говорят о том, что потоки создают только мнительную параллельность выполнения процессов. На самом же деле, как говорит автор этой статьи, процессор не может обрабатывать несколько участков кода одновременно.
Совершенно верно.
Цитата:
Сообщение от MarlboroRed
В вопросе оптимизации использование параллельных потоков возможно только для многоядерного процессора.
Глупости пишет. Представь себе что набирая текст в Word-е он бы при нажатии каждой буквы останавливал бы тебя чтобы найти набранное слово в своих орфографических словарях. А так ты текст набираешь, а Word тихонько в отдельном потоке со словарями сверяется.
Так же если сервер с базой данных многоядерный, то твое приложение работающее на компьютере с одним ядром будет работать быстрее если делать запросы к базе в два потока, чем в один. И тоже не нужно забывать о пользовательском интерфейсе: если запросы к базе будут идти в главном потоке, то приложение в это время будет подвисшим, что опять же приведёт к замедлению работы пользователя с приложением.
Цитата:
Сообщение от MarlboroRed
Выходит, что если я создам 4 потока, то процессор с двумя ядрами параллельно сможет выполнять только 2?
Естественно
Цитата:
Сообщение от MarlboroRed
А так же возник вопрос, а нужно ли указывать где-то, что потоки должны выполняться на разных ядрах или виндовс сам поймет?
Указывать не нужно "виндовс сам поймет"
Ответить с цитированием