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

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

Восстановить пароль Регистрация
 
Katenkka
 Аватар для Katenkka
30 / 30 / 6
Регистрация: 04.04.2011
Сообщений: 86
15.05.2014, 17:44     Принять в pthread_join указатель на динамический массив #1
Здравствуйте!
Имеется следующая функция:
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 целиком?

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

Указатель на двухмерный динамический массив C++
Динамический массив и указатель на указатель C++
Нужно сделать указатель на динамический двумерний массив C++
C++ Функция принимает указатель на динамический массив и возвращает его же, но без чисел полиндромов (читается с обоих сторон одинаково - 234432)
Написать функцию принимающую массив и возвращающую указатель на динамический массив C++
C++ Динамический массив и указатель
Функция должна принять указатель на саму себя C++
C++ В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель

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

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

Текущее время: 00:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru