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

Передача параметра в потоки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найдите минимальный и максимальный элемент массива и поменяйте их местами http://www.cyberforum.ru/cpp-beginners/thread627151.html
прошу помочь найдите минимальный и максимальный элемент массива и поменяйте их местами
C++ Книги, статьи, сайты по ООП графике Доброго времени суток, форумчане! Посоветуйте, пожалуйста, сайт или книгу, на русском языке, где исчерпывающе и доходчиво объяснено, лучше на примерах, как использовать ООП в графике, желательно на C++, но если материал действительно стоящий, то можно и на другом языке программирования (будет решаться задача о моделировании движения частиц разных форм и свойств, код, видимо, придется писать с... http://www.cyberforum.ru/cpp-beginners/thread627146.html
Сформировать и отсортировать массив C++
Прошу помочь буду блогодарна ,заранее спасибо!! Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортировать его по убыванию
C++ Найти сумму элементов массива
Прошу помочь буду блогодарна ,заранее спасибо!! Найти сумму элементов массива,расположенных после первого положительного элемента
C++ Изменить порядок следования элементов массива http://www.cyberforum.ru/cpp-beginners/thread627124.html
Прошу помочь буду блогодарна ,заранее спасибо!! Изменить порядок следования элементов массива на противоположный
C++ Вычислить количество элементов массива Зарание спс 1.Вычеслить количество элементов массива,равных 0 2.Изменить порядок следования элементов массива на противоположный 3.Найти сумму элементов массива,расположенных после первого положительного элемента 4.Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортировать его по убыванию подробнее

Показать сообщение отдельно
Eni87
Сообщений: n/a
22.07.2012, 13:44     Передача параметра в потоки
Добрый день уважаемые форумчане!
Подскажите как правильно сделать передачу параметров в поток. В качестве параметра нужно передать число.

Потоки создаю в цикле, хотя собственно вот пример кода.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <Windows.h>
#include <process.h>
unsigned __stdcall potok(void* Param)
{
        static int p = (int)Param;
        char buffer[100];
        wsprintf(buffer,"%u",p);
        MessageBox(0,buffer,"",0); // вывожу в messag параметры, но выводятся 7 - 8 значные 
 //одинаковые числа
        return 0;
}
 
int main ()
{
    for(int i  = 0; i < 10; i++)
    {
        Sleep(500);
        _beginthreadex (NULL,0,&potok, &i ,0, NULL);  // передаю переменную i в поток
    } 
    Sleep(100000);
    return 0;
}
Проблема видимо в том что я передаю адрес переменной, а в цикле она изменяет значение и поэтому в MessageBox выводятся совсем другое.

Подскажите, как правильно передать изменяемую переменную в качестве параметра? Заранее спасибо..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru