расчет арифметики на мультиядерной системе

  • Автор темы BloodMaX
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

BloodMaX

Здравствуйте, вопрос таков, имеется цикл например 20 млн арифметич. рассчетов, как сдлетаь так что бы каждый расчет осуществлялся отдельный процессорным ядром.

for i:=1 to 20000000 do begin y:=sin(X);

даже такой банальщины, как это можно сделать в несоклько потоков? напишите пожалуйста пример с комментариями, скольок в интернете не рылся ничего понятного не нашел и приемлимового.
 
V

VahaC

Так создай к примеру 20 потоков и в каждом
Код:
for i:=1 to 1000000 do begin y:=sin(X);
 
B

BloodMaX

через Tthread ?
не могли бы вы привести пример, я думаю это не слоэно написать
 
V

VahaC

Гугл рулит

 
E

European

Так создай к примеру 20 потоков и в каждом
Бред! Вы сами то поняли, что написали?
BloodMaX
Первый вопрос, на который вы должны ответить, так это зависят ли результаты одной итерации цикла от другой, например, предыдущей. Если зависят, то распарралелить, в принципе можно, но нужно знать точно задачу. Если нет, то что мешает вам сделать несколько потоков и в каждом рассчитывать некоторый диапазон. Например, один цикл от 0 до 10 миллионов, а второй от 10 до 20 миллионов и т.д.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!