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

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

Войти
Регистрация
Восстановить пароль
 
Segaman
2 / 2 / 1
Регистрация: 03.09.2014
Сообщений: 145
#1

Многопоточные функции - C++

13.01.2016, 13:02. Просмотров 188. Ответов 3
Метки нет (Все метки)

Написал программу, которая обрабатывает большой объём информации и столкнулся с проблемой производительности.
Начал копать в сторону многопоточности, но есть несколько вопросов, ответ на которые не просто найти.
Хочу спросить опытных программистов.
Я пишу программу на С++ для шиндовс.

1.Существуют ли какие-то запреты на чтение\запись данных нескольких потоков из одного места?
2.Если несколько потоков вызывают одну функцию, будут ли обьявленные в ней переменные создаваться отдельно для каждого потока или нет?

Я просто пришел из старых консолей, там с этим строго. А на компе не разу таким не промышлял.
Еще наткнулся на OpenMP.

3.Стоит ли мне, новичку, юзать эту плюшку или ограничиться CreateThread?
Заранее спасибо
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2016, 13:02     Многопоточные функции
Посмотрите здесь:

Многопоточные библиотеки - C++
Всем добрый вечер! Разрабатываю приложение, которое в конечном итоге должно работать в несколько потоков, и не понимаю как реализовать. ...

Многопоточные консольные приложения - C++
подскажите сайт\книжку где почитать (обязательно с примерами) про многопоточные приложения, и только с консольными примерами. в этой...

Будут ли мои многопоточные решения кроссплатформенными? - C++
Решил начать изучать многопоточность недавно. С чего лучше начать изучение? Подскажите литературу по этой теме, желательно что-нибудь...

Многопоточные программы, распараллеливание при чтении файла - C++
Добрый день. Прошу помощи начинающей программистке. )) Есть программа, считающая количество байт бинарного файла; Надо создать два потока...

Многопоточные методы - Java SE
Здраствуйте. Проблема такова: Делаю сервак, он разделяется на комнаты в которых находятся пользователи. Сервер многопоточный, но...

Многопоточные приложения - C Linux
Помогите пожалуйста написать такую программу Создать многопоточное приложение, в котором поток родитель создает файл и создает три...

Многопоточные приложения - Delphi
Доброго времени суток всем! Кто-нибудь может дать дельные ссылки на информацию/исходник по многопоточным приложениям?

Многопоточные приложения - Delphi
Создайте приложение, которое в фоновом режиме проверяет правильно введенные числа. На главной форме разместите два многострочных редактора....

Многопоточные запросы POST\GET - C++ Qt
Здравствуйте. В MDI-приложении на Qt требуется организовать многопоточную работу с сетью. Пользователь создает дочернее окно, производит...

Многопоточные сокеты без очереди - C#
Socket socket; Socket s; public void start() { try { //создаем...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
13.01.2016, 13:05     Многопоточные функции #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Segaman Посмотреть сообщение
1.Существуют ли какие-то запреты на чтение\запись данных нескольких потоков из одного места?
По сути, запретов нет, это же Ваш процесс и Ваша память.
Но нужно следить за синхронизацией.
Цитата Сообщение от Segaman Посмотреть сообщение
2.Если несколько потоков вызывают одну функцию, будут ли обьявленные в ней переменные создаваться отдельно для каждого потока или нет?
У каждого потока свой стек, так что стековые - будут.
Также есть thread_local переменные.
Цитата Сообщение от Segaman Посмотреть сообщение
3.Стоит ли мне, новичку, юзать эту плюшку или ограничиться CreateThread?
Может сразу взять компилятор поновее с поддержкой c++11 и использовать std::thread?
Ну или boost::thread.
Mesteriis
373 / 156 / 40
Регистрация: 08.08.2015
Сообщений: 1,104
Завершенные тесты: 1
13.01.2016, 13:09     Многопоточные функции #3
Цитата Сообщение от Croessmah Посмотреть сообщение
std::thread?
Ну или boost::thread.
Кстати по этому поводу, как по твоему что лучше? или это по сути одно и тоже, так как из буста он приехал в STL?
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
13.01.2016, 18:03     Многопоточные функции #4
Цитата Сообщение от Segaman Посмотреть сообщение
3.Стоит ли мне, новичку, юзать эту плюшку или ограничиться CreateThread?
Заранее спасибо
Если под плюшкой подразумевается OpenMP, а программа сравнительно простая, то стОит. Но надо при этом понимать, что если есть хотя бы базовые навыки по созданию потоков вручную (через CreateThread, а не boost::thread), то любая надстройка над потоками (те же boost::thread и OpenMP) будут пониматься намного глубже
Yandex
Объявления
13.01.2016, 18:03     Многопоточные функции
Ответ Создать тему
Опции темы

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