0 / 0 / 0
Регистрация: 06.01.2011
Сообщений: 17
|
||||||
1 | ||||||
Многопоточный расчет числа пи23.11.2012, 02:02. Показов 3601. Ответов 0
Метки нет (Все метки)
Здравствуйте, уважаемые коллеги.
Мне нужно по учебе написать многопоточное приложение для вычисления числа пи с помощью WinAPI. Халявы не ищу, нужно просто поговорить как следует, если можно, помогите пожалуйста комментами в примере ниже. Вот ТЗ: "Напишите параллельную программу, вычисляющую число пи с точностью N знаков после запятой по следующей формуле: , где Установите n=1000000000. Создание потоков выполняйте с помощью функции CreateThread. Рекомендуется сразу в начале программы сразу создать необходимое количество потоков в приостановленном состоянии. Произведите замер времени выполнения вашей программы. Проведите эксперименты для определения количества потоков в программе (от одного до 16), при котором достигается наибольшая скорость выполнения. Используемые функции Win32 API: CreateThread, ResumeThread, SuspendThread" Причем надо реализовать два способа: 1) Статическое распределение итераций блоками (размер блока 100) по потокам. Первый блок из 100 итераций выполняет нулевой поток, второй блок – следующий и т.д. до последнего потока, затем распределение снова начинается с нулевого потока. 2) Статическое распределение итераций блоками (размер блока 100) по потокам. Сначала каждый поток 100 итераций, тот поток, который заканчивает выполнение своей порции итераций, получает следующую свободную порцию из 100 итераций. Освободившиеся потоки получают новые порции итераций до тех пор, пока все порции не будут исчерпаны. Отсюда следующие вопросы: 1) я пока читаю книгу и курю MSDN, на нем есть большой пример с указанными функциями, но если честно, я не очень его понимаю, т.к. никогда ранее не работал с многопоточными приложениями и ничего о них не читал, мне хотелось бы, чтобы мне подсказали, откуда начинать и каким именно образом включать формулу. Даже не знаю, к чему больше относится мой вопрос: к теории или скорее к синтаксису, пока большой разрыв между теоретическими лекциями и книгами и реальным кодом в примере. Вот код примера: Кликните здесь для просмотра всего текста
2) Затем мне это же надо будет сделать с помощью OpenMP, но у меня эта библиотека на работает на MS VS 2008 Express, подскажите пожалуйста, как можно ее вкрутить в студию экспресс? Большое спасибо.
0
|
23.11.2012, 02:02 | |
Ответы с готовыми решениями:
0
Бинарные числа! Перевод простого числа в бираное и расчет. Многопоточный расчет Расчет числа пи. Расчет апроксимации числа Пи |
23.11.2012, 02:02 | |
23.11.2012, 02:02 | |
Помогаю со студенческими работами здесь
1
Расчет палиндрома числа 89 Расчет цикломатического числа Расчет числа Шредера Расчет факториала натурального числа n Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |