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

_beginthreadex и функция старта - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 85, средняя оценка - 4.74
Fusix
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 133
24.02.2011, 19:33     _beginthreadex и функция старта #1
Как писать, есть в функции потока 2 и более аргумента, как их все передать?
Нужно эту функцию (пример)
C++
1
2
3
4
5
6
7
void one(int a, int b)
{
while(1)
{
cout << a+b;
}
}
Выполнять с потоке. Как создать такой поток?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2011, 19:33     _beginthreadex и функция старта
Посмотрите здесь:

Функция main. Является ли она точкой старта программы? C++
что за функция такая strstr? или это не функция? C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() C++
Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива C++
C++ Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.02.2011, 19:35     _beginthreadex и функция старта #2
Fusix, структуру передавайте.
Fusix
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 133
24.02.2011, 19:43  [ТС]     _beginthreadex и функция старта #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
Fusix, структуру передавайте.
А именно, с чем
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
24.02.2011, 21:26     _beginthreadex и функция старта #4
аргументы пакуются в указатель на void
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
#include<windows.h>
#include<process.h>
 
HANDLE e;
 
unsigned __stdcall one(void* p){
    int *pint=(int*)p, a, b, cou=10;
    a=*pint, b=*(pint+1);
    while(cou--){
        printf("%d ", a+b);
    }
    SetEvent(e);
    return 0;
}
 
int main(){
    int mas[]={1, 2};
    e=CreateEvent(NULL, FALSE, FALSE, NULL);
    _beginthreadex(NULL, 0, &one, (void*)mas, 0, NULL);
    WaitForSingleObject(e, INFINITE);
    return 0;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.02.2011, 22:00     _beginthreadex и функция старта #5
Цитата Сообщение от Fusix Посмотреть сообщение
А именно, с чем
С теми параметрами, вестимо, которые надо передать. Если параметры однотипные, такой вариант, как показал igorrr37, работает, а вот если все разных типов, лучше указатель на структуру передавать.
Yandex
Объявления
24.02.2011, 22:00     _beginthreadex и функция старта
Ответ Создать тему
Опции темы

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