Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Katenkka
30 / 30 / 6
Регистрация: 04.04.2011
Сообщений: 86
#1

Принять в pthread_join указатель на динамический массив - C++

15.05.2014, 17:44. Просмотров 214. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Имеется следующая функция:
C++
1
2
3
4
5
6
7
8
9
10
11
void *matrixConvollutionByThread(void *arg)
{   
    RGBTRIPLE *curImageArray = static_cast<RGBTRIPLE *>(arg);
 
    RGBTRIPLE *curBlurArray = new RGBTRIPLE[threadWidth*threadHeight];
 
        // преобразованный массив, получается из соответствующей функции корректно, проверяла
    curBlurArray = matrixConvolution(curImageArray, threadWidth, threadHeight, blurMatrix, 16); 
 
    return curBlurArray;
}
Которая используется для обработки изображения потоками в следующем коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
RGBTRIPLE *blurArray = new RGBTRIPLE[width*height];
 
    // создаём потоки, обрабатываем ими полученное изображение
    for(int i = 0; i < NUM_THREADS; i++) { 
        // получаем ссылка на начало обрабатываемого куска
        RGBTRIPLE *imageArrayPtr = imageArray + threadWidth*threadHeight*i;
 
        pthread_create(&threads[i], NULL, matrixConvollutionByThread, static_cast<void*>(imageArrayPtr));   
 
        RGBTRIPLE *blurArrayPtr = blurArray + threadWidth*threadHeight*i;
 
        pthread_join(threads[i], reinterpret_cast<void**>(blurArrayPtr));
    }
...
Проблема в том, что после выполнения pthread_join в *blurArrayPtr оказывается только первое значение из массива, дальше он пуст... Как заставить его принять массив из matrixConvollutionByThread целиком?

Спасибо заранее. Замучилась уже, буду рада помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 17:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Принять в pthread_join указатель на динамический массив (C++):

Динамический массив и указатель на указатель - C++
Спасибо за внимание) Задача такова: нужно удалить элемент по индексу, при этом уменьшить сам массив на 1 (т.е. удалили элемент - уменьшился...

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

Динамический массив и указатель - C++
Всем привет. Пытаюсь понять тему динамических массивов. Прошу помочь разобраться в следующем: Есть код (пример): int num = 5;...

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

Указатель на двухмерный динамический массив - C++
Друзья, нужна Ваша помощь! Создаю одномерный динамический, создаю указатель на него (вернее на его первый эл-т). То же самое пытаюсь...

Умный указатель и динамический массив - C++
Здравствуйте! Есть проблема со следующим заданием. Есть класс умного указателя, используя его необходимо, создать каталог товаров (+ 2...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2014, 17:44
Привет! Вот еще темы с ответами:

Нужно сделать указатель на динамический двумерний массив - C++
Есть динамический массив, псевдо-код: #include &lt;iostream&gt; using namespace std; const int x = 10; int main() { ...

Не работает динамический массив в классе: что раньше, указатель или размер? - C++
Подскажите пожалуйста где ошибка class arar { int*arr, size; public: arar() :arr(new int()), size(10) { for (int i(0); i...

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

Функция принимает указатель на динамический массив и возвращает его же, но без чисел полиндромов (читается с обоих сторон одинаково - 234432) - C++
Вот мое решение, подскажите, пожалуйста, что изменить, чтобы заработала программа: # include &lt;iostream&gt; # include &lt;stdlib.h&gt; #...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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