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

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

Войти
Регистрация
Восстановить пароль
 
fipsiksi
Сообщений: n/a
#1

Параллельные потоки и сегмент задачи - C++

25.05.2014, 22:53. Просмотров 162. Ответов 0
Метки нет (Все метки)

Здравствуйте. Вопрос абстрактный. Не совсем по с++, но так как пишу на с++ причём в Linux. Итак, известно что можно создать параллельный поток с помощью pthread_create(). Допустим я опишу функцию которая у меня будет в отдельном потоке в отдельном .cpp файле и я хочу, чтобы она видела некоторый массив об]явленный в файле main.cpp. Я делаю это через extern. Известно, что у потоков в одном процессе общее адресное пространство. Т.е. по идее никаких проблем с доступом не должно быть. Также хочу спросить, если я описываю мой массив перед main то память под него выделяется в сегменте данных? Т.е. когда компилятор и линковщик обработает у меня будет один исполняемый файл в сегменте данных которого будет место для памяти массива? И если так, тогда непонятно как реализуется это переключение между потоками, а по терминологии в ассемблере между задачами, если каждой задачи соответствует свой сегмент задачи, в котором сохраняется в том числе и регистр указывающий на дескриптор области данных. Т.е. и адресное пространство у них по идее разное? Тогда это не должно работать, или я чего то не понимаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 22:53     Параллельные потоки и сегмент задачи
Посмотрите здесь:

Параллельные потоки, вектора, переменные - C++
Если у меня работают 2-3 параллельных потока и у всех есть доступ к одному классу. 1) нужно ли лочить этот класс на время работы в...

Не знаю что такое сегмент, не в ладах с математикой( - C++
Всем доброго времени суток, помогите пожалуйста написать программу: Определить, во сколько раз площадь круга радиуса R больше площади...

Решето Эратосфена (сегмент): медленно работает - как можно ускорить? - C++
Подсчёт числа простых чисел в диапазоне от "from" до "to" typedef UINT64 Number; __device__ Number eratosthenesSingleBlock(const...

Составить программу, которая во время своей работы модифицировала бы собственный кодовый сегмент - C++
Составить программу, которая во время своей работы модифицировала бы собственный кодовый сегмент. Вот такую чудо-программу задали...

Параллельные вычисления средствами С++ 11 - C++
Поиск файлов в каталоге реализован в ф-ии direct, потоки управляют из мейна. Ф-ю direct надо разбить на несколько потоков, вывод...

Параллельные вычисления с обменом сообщений - C++
Здравствуйте многоуважаемые. Если вдруг кто разбирается в этом вопросе - прошу вашей помощи. В программе создается квадратная матрица,...

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

Отсортировать диагонали, параллельные побочной по возрастанию - C++
В файле содержится двумерный массив размерностью n × n. В новый файл вывести отсортированный массив. Отсортировать диагонали,...

Параллельные алгоритмы матрично-векторного умножения - C++
Здравствуйте, помогите устранить ошибки (какие свойства прописать нужно), для данного кода: // SerailMatrixVecorMult.cpp: определяет...

Отсортировать диагонали матрицы, параллельные побочной - C++
Отсортировать диагонали матрицы (размерности N*N, содержащей целые числа) параллельные побочной, по возрастанию элементов.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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