|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.12.2009, 19:29 | #1 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 10
|
Распаралелить программу
Здравствуйте уважаемые форумчане!
Нужно распаралелить программу которая меняет местами столбцы 2-х мерного массива. Массив размером 10*10 Количество потоков - 5. ОС- WindowsXP IDE - MS Visual Studio 2008 C++ Вот я сделал её, но не приложу ума как распаралелить. Код:
Последний раз редактировалось MaxDDT; 08.12.2009 в 19:46. Причина: уточнение данных |
08.12.2009, 19:42 | #2 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2MaxDDT
Цитата:
реализация зависит от ос
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
08.12.2009, 19:47 | #3 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 10
|
2pproger
Да, потоков. Я там в сообщении всё уточнил. |
08.12.2009, 20:24 | #4 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
честно - идеотское задание на параллелизм. тут и распараллеливать то нечего. была ба какая нить сортировка хотяб...
ну что вижу. пусть каждый поток вполнит свою часть перестановки столбцов. например: Цитата:
но опять же скажу, что это все бредятина, ибо вполнение потока закончится практически моментально.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
08.12.2009, 20:46 | #5 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 10
|
Согласен что бредятина! Но "приказ" есть "приказ"! Я примерно так и думал. Но мне сказали что может возникнуть проблема с доступом к памяти. Типа одновременно к массиву будут подключатся 5 потоков, хотя я лично не пойму в чём проблемма.
Спасибо большое попробую помучится, когда будет какой-то результат, отпишусь. |
08.12.2009, 22:01 | #6 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 10
|
Оказывается что использовать функция CreateThread() есть смысл лишь тогда, когда в коде не используются стандартные функции библиотеки С, такие как например printf() или strcmp(). Проблемма в том что функции стандартной библиотеки С не предназначены для использования в Win32 АРІ, и для того чтобы создать поток необходимо во время создания и завершения потока выполнять некоторые действия, все эти действия уже включены в функцию _beginthreadex() для создания потока и _endthreadex() – для завершения потока. эти функции описаны в ргосеss.h (информация из методички)
|
08.12.2009, 22:53 | #7 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 525
|
эмм, у меня тут тоже есть вопросик небольшой(потоки особо не изучал, но интересно же)
вот допустим обычный тупо-поток я создаю так (в MFC) Код:
|
08.12.2009, 23:32 | #8 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
для оных целей метод должен быть статическим, что по сути сразу исключает возможность доступа к полям, принадлежащим какому-то конкретному объекту(так как в статические методы не передаётся this). С другой стороны можно собственноручно передать в него this и тогда через него получать доступ к приватным полям класса
|
11.12.2009, 17:14 | #9 |
Пользователь
Регистрация: 08.12.2009
Сообщений: 10
|
Кто может взяться за это задание, и за какую сумму?
Интересует вариант с подробными комментариями. |
12.12.2009, 01:55 | #10 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 525
|
вот так вроде работает
не очень красиво правда - пока не получилось передать в поток указатель на двумерный массив как предложил pproger, пришлось чуток схалтурить ) Код:
Последний раз редактировалось m0nax; 12.12.2009 в 20:21. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написал программу, помогите натянуть Шейдеры или как нибудь модифицировать программу | WMLite | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 16.06.2009 13:57 |
Оцените программу | cheef | Софт | 11 | 30.04.2009 09:28 |
Защитить программу. | С.М.С | Безопасность, Шифрование | 10 | 23.02.2009 00:35 |
Разобрать программу | DarkDeivel | Общие вопросы Delphi | 13 | 21.09.2008 14:17 |
Написать программу. | project.one | Фриланс | 3 | 17.06.2008 16:11 |