Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
artstalker
37 / 32 / 4
Регистрация: 23.01.2009
Сообщений: 141
1

Как создать дополнительный поток?

03.05.2009, 19:43. Просмотров 1592. Ответов 5
Метки нет (Все метки)

сабж. пробовал создавать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Thread( void* pParams )
  { int i, num = 0;
  
    while ( 1 )
    { 
        Sleep(1000);
       for ( i = 0; i < 5; i++ ) a[ i ] = num;
       num++;
       cout<<i<<" "<<endl;
    }
  }
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    _beginthread( Thread, 0, 0 );
        return0;
}
Всё работает. Но мне нужно запустить метод класса в дополнительном потоке из другого метода этого класса. Такой способ перестаёт работать (
C++
1
2
3
4
5
6
7
8
9
10
11
сlass Machine{
void Heating(void* pParams)
{
...
}
void OnTurnOn()
{
_beginthread( Thread, 0, 0 );
}
...
}
Вот такая ошибка:
error C3867: 'Machine::Heating': function call missing argument list; use '&Machine::Heating' to create a pointer to member
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2009, 19:43
Ответы с готовыми решениями:

Как в VS 2008 создать поток?
Здравствуйте! IDE - Visual Studio 2008 C++ OS - Windows XP Я в С++...

Как создать поток (Thread) в с++ mfc?
Здравствуйте!) Не могу ни как понять, как создать поток в с++ mfc? В c# и с++...

Как создать виртуальный поток и переопределить оператор <<?
Виртуальный то есть имеется ввиду не файловый и не строковый и не консольный. ...

Ошибка при попытке создать поток
Имеется функция void wait(){ int waitt = (rand() % 3900 + 100);...

Можно ли создать поток для выполнения отдельного метода
Здравствуйте! Подскажите как ( и возможно ли это вообще ) создать поток для...

5
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
03.05.2009, 19:45 2
функция класса должна быть статической
1
artstalker
37 / 32 / 4
Регистрация: 23.01.2009
Сообщений: 141
03.05.2009, 19:49  [ТС] 3
А можно как-то запустить не статическую функцию в отдельном потоке?
У меня в теле функции меняются не статические члены. Я не могу её сделать статической
0
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
03.05.2009, 19:51 4
Здесь:
http://www.experts-exchange.com/Prog..._20088166.html
0
artstalker
37 / 32 / 4
Регистрация: 23.01.2009
Сообщений: 141
03.05.2009, 20:04  [ТС] 5
А можешь выложить сюда?
А то мне там триальный доступ не дают.=\
0
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
03.05.2009, 20:10 6
artstalker,
какое еще триальный доступ? прокручиваешь страницу вниз, и там ответы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int Ttime::cretimethrd(){
 
HANDLE h;
 
if ((h=(HANDLE)_beginthreadex(NULL,0,::timerthrd,this,0,0))<=0) {
  printf("timethread:Unable to create thread.\n");
  return(-1);
} else {
  CloseHandle(h);
}
return(0);
}
 
and put the definition of the thread proc:
 
unsigned timerthrd(void *obj){
  TTime* tt = static_cast<TTime*>(obj);
  return tt->timerthrd(0);
}
первоисточник ссылок:
Гоогле => "_beginthreadex class member"
0
03.05.2009, 20:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2009, 20:10

Текстовый поток как аргумент функции
Здравствуйте! :curtsy: Возникла необходимость обработать файл *.txt, внутри...

Функция класса, как отдельный поток
когда у всех возникает необходимость работать с нитями (threads) в windows,...

Как записать звуковой поток в файл?
Как обзавязать созданный новый файл и рабочую звуковую программу, точнее...


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

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

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