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

Тема в разделе "Delphi - Система", создана пользователем BloodMaX, 20 мар 2010.

Статус темы:
Закрыта.
  1. BloodMaX

    BloodMaX Гость

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

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

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

    VahaC Well-Known Member

    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
    Так создай к примеру 20 потоков и в каждом
    Код (Text):
    for i:=1 to 1000000 do begin y:=sin(X);
     
  3. BloodMaX

    BloodMaX Гость

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

    VahaC Well-Known Member

    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
  5. European

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

Поделиться этой страницей