Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

Параллельное исполнение программы - C++

15.06.2013, 00:22. Просмотров 1153. Ответов 28
Метки нет (Все метки)

Здорова господа!
Я от новую задачку делаю, полностью на новую тему, наверно интересную, в общем сразу условие приведу:
Понятия потока, задачи и процесса составляют основные понятия параллельного исполнения программ на вашем компьютере. Разберитесь подробнее в этих механизмах. Для предотвращения одновременного доступа двух задач к одной области памяти применяется блокировка. Реализуйте класс блокировки, опираясь на системный механизм блокировок на вашей машине.

Все новое для меня. Понятие потока? Да хз что это такое. Задачи и процессы тоже хз. Ну что такое блокировка, есть в определении задачи, но что это за класс блокировки и как его реализовать тоже хз.
Не понятная задачка.
Просветите новичка!!!!!!

Добавлено через 1 минуту
Я не знаю с чего ее начинать, то делать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2013, 00:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Параллельное исполнение программы (C++):

ГУИ как посмотреть исполнение программы? - C++
Здорова! Как сделать чтобы было удобно в mfc просматривать что выводится на экран так же как в консольном приложении? Например я каждый раз...

Запуск файла на исполнение - C++
Нужна функция (или кусок кода позволяющий это делать). Проблема такова, необходимо запускать 5-6 программ из програмулены написанной...

Программа не запускается на исполнение - C++
Доброй ночи. Возникла такая проблема: написал программу, должно быть правильно, компилятор никаких ошибок не выдает. Но при запуске...

Повторить исполнение кода - C++
Разработал такой супер-код, подскажите, как сделать, чтобы после последнего "mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); " сделать, чтобы...

Исполнение команды в винде - C++
Кто-нибудь делал екзешник для винды, который запускает исполнение команды: java -jar SomeJarFile.jar Или любой другой. Как это...

Исполнение кода из текстовой переменной. - C++
Есть текстовая переменная. (конкретно массив TCHAR) В ней находится кусок кода. Можно ли отправить этот код на выполнение, не занимаясь...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gray_fox
What a waste!
1507 / 1210 / 68
Регистрация: 21.04.2012
Сообщений: 2,545
Завершенные тесты: 3
15.06.2013, 01:20 #2
Цитата Сообщение от ninja2 Посмотреть сообщение
Все новое для меня. Понятие потока? Да хз что это такое. Задачи и процессы тоже хз.
Ну так для начала возьми книжку по теории ОС и почитай соответствующие главы; ИМХО это проще, чем ждать, пока кто-нибудь тебе лекцию на форуме прочтёт.
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.06.2013, 03:19  [ТС] #3
gray_fox, нет мне бы лучше если б кто подсказал. Ну я виндовс хорошо знаю.
gray_fox
What a waste!
1507 / 1210 / 68
Регистрация: 21.04.2012
Сообщений: 2,545
Завершенные тесты: 3
15.06.2013, 03:27 #4
Цитата Сообщение от ninja2 Посмотреть сообщение
gray_fox, нет мне бы лучше если б кто подсказал. Ну я виндовс хорошо знаю.
Ну тогда можешь подождать, пока кто-нибудь тебе всё по полочкам разложит) Просто проще самому узнать; оновные понятия (если они тебя интересуют - процессы\потоки и пр.) от платформы не зависят...
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.06.2013, 04:51  [ТС] #5
gray_fox, Мне б конкретно по делу задачку решить, что такое процесс я тоже как бы знаю, это фигня что в диспетчере устройств запускается, каждая программа занимает один процесс.
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
15.06.2013, 06:10 #6
Брать книжку и читать... Перепечатывать несколько глав сюда никто не будет, а в поверхностных объяснениях смысла немного. В личку отправляю пару заданий на лабораторные работы... Мб поможет.
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.06.2013, 10:47  [ТС] #7
Цитата Сообщение от 0x10 Посмотреть сообщение
Брать книжку и читать... Перепечатывать несколько глав сюда никто не будет, а в поверхностных объяснениях смысла немного. В личку отправляю пару заданий на лабораторные работы... Мб поможет.
А какие книги, то хоть читать? По винапи? Где эта тема будет разобрана? По С++ эту тему вроде не разбираем. Мб литературу кто подскажет!
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.06.2013, 11:01 #8
"Энтони Уильямс - Параллельное программирование на С++ в действии"
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
15.06.2013, 11:03 #9
Книги по системному программированию в unix. Что-нибудь такое:
http://www.ozon.ru/context/detail/id/2419365/
http://www.ozon.ru/context/detail/id/3406745/
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.06.2013, 11:18  [ТС] #10
Наверно я пропущу эту задачку, а то на разбор много времени потрачу щас, потом просто эту книгу прочитаю http://www.ozon.ru/context/detail/id/17636939/ и мб потом решу ее.

А мб кто конкретно код может скинуть с примером?

Ну эта задачка конечно сложная с оценкой (*3) , поэтому я сильно не надеюсь что кто то поможет.
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
15.06.2013, 11:43 #11
Под Win смотреть сюда: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Если же не
Цитата Сообщение от ninja2 Посмотреть сообщение
опираясь на системный механизм блокировок на вашей машине
то проще сделать на основе http://en.cppreference.com/w/cpp/thread/mutex
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.06.2013, 11:52  [ТС] #12
Ладно с литературой, давайте все же попытаемся конкретно задачу разобрать!
От я так думаю нам нужно написать программку которая будет запускать два процесса и из этих процессов будет обращаться к одной области памяти. А что бы они не смогли этого сделать будет класс блокировки. От нужно что то приметивное токо в виде кода написать. Кто сможет это сделать в виде кода? Мб есть щарящие люди?
XRuZzz
Антикодер
671 / 572 / 28
Регистрация: 15.09.2012
Сообщений: 2,520
15.06.2013, 12:12 #13
Для потоков я раньше использовал библиотеку POSIX Thread

Как насчёт написания кода под ОС Linux?

Не по теме:


Может если помогу Гуру С++, тоже стану гуру



но я от вас по использованию потоков не очень далеко ушёл, поэтому вместе придётся разбираться.
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.06.2013, 12:20  [ТС] #14
Цитата Сообщение от XRuZzz Посмотреть сообщение
Как насчёт написания кода под ОС Linux?
Да нет под линукс нет.
Цитата Сообщение от XRuZzz Посмотреть сообщение
Для потоков я раньше использовал библиотеку POSIX Thread, а вам можно использовать только API ОС?
Да нет так как в условии записано, то и использовать.

Цитата Сообщение от XRuZzz Посмотреть сообщение
но я от вас по использованию потоков не очень далеко ушёл, поэтому вместе придётся разбираться.
Да мб хоть кто примерчик просто приведет.

Господа ну что вы так затихли все? Давайте я вам конкретную задачку приведу что нужно сделать. Нужно создать два процесса и параллельно в одном допустим что то посчитать, и в другом тоже что то мелкое, а потом вывести результаты на экран. Ладно уже без обращения к одной ячейки памяти, без использования блокировки, либо стандартная блокировка будет использоваться, либо с помощью уже средств стл. Просто же рабочий пример с двумя процессами или задачами. Все ж просто Гуру где вы? Ау!!!!

В моей задачке я так понимаю что то нужно свое сделать. Ок, давайте хоть напишем пример уже стандартными средствами.

Ну я мб тут напутал с терминами и с тем что делать, так как не в теме.

Добавлено через 4 минуты
Desu_Is_A_Lie, И литературу желательно на русском, не все английский знают.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
15.06.2013, 12:24 #15
Цитата Сообщение от ninja2 Посмотреть сообщение
Да нет так как в условии записано, то и использовать.
В условии не написано что использовать.
Цитата Сообщение от ninja2 Посмотреть сообщение
Мб есть щарящие люди?
Какому шарящему интересно решать задачу для не шарящего?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2013, 12:24
Привет! Вот еще темы с ответами:

Исполнение функции-члена в отдельном потоке - C++
Здравствуйте, форум! Вот такой вот пример: Имеется класс, в котором есть 3 перегрузки одной функции. class A { public: ...

Исполнение .cmd через вызов CreateProcess() - C++
Привет. Заранее извините, если написал не туда. Есть .cmd файл, который надо запустить ТОЛЬКО при помощи CreateProcess() (ShellExecute в...

Программа на исполнение запускается, но пишет, что проект окончился крахом - C++
В этом коде выдает такую ошибку: #include "widget.h" #include "ui_widget.h" #include <QColor> #include <QImage> #include...

Как остановить исполнение консольного приложения без выхода из него? - C++
То есть, если пишу exit(1); , то консоль закрывается, но там есть информация о ошибке, которую должен увидеть пользователь. Какие есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.06.2013, 12:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru