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

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

Войти
Регистрация
Восстановить пароль
 
a_etot_nik
8 / 8 / 1
Регистрация: 09.04.2010
Сообщений: 58
#1

подскажите как выполнить метод в потоке - C++

13.11.2011, 14:15. Просмотров 375. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  class T1
    {
        public : 
            void metod1();
            void metod2();
     }
 void T1::metod1()
  {
    std::cout<<"metod1"<<endl;
    // пожскажите пожайлуста как в этом методе запустить metod2 в отдельном потоке
  }
 void T1::metod2()
  {
    std::cout<<"metod2"<<endl;
  }
Добавлено через 25 минут
Хотябы простой пример реализации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 14:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите как выполнить метод в потоке (C++):

Выполнить метод в заданном потоке - C++
Здравствуйте. Во многих языках есть возможность выполнить метод в заданном потоке, есть ли такая возможность в C++?

Подскажите пожалуйста как выполнить с использованием матрицы и сделать программу - C++
z = (a-b)+++-(a+++-3a++b) { cout &lt;&lt; z &lt;&lt; end;

Подскажите метод, как вызывать get<n>(func)(x) n раз. Код внутри - C++
Создаю композитор функций с переменным числом параметров h(x,z) = f(x, g(g1(z),g2(z)),g11(z),...,gn(z)): template&lt;typename ... F&gt; ...

Подскажите, нужно перегрузить оператор или создать метод(если создать то не понимаю как) записи в файл - C++
вот как я хотел сделать запись в файл перегрузкой #pragma once #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;fstream&quot; class...

Не могу создать поток( Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке) - C++
хм.. не могу создать поток в c++ и направить туда. Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке.

Метод Ньютона подскажите - C++
Я нашел исходник решающий Методом Ньютона(касательные) Не могу понять что значит переменная eps И если не затруднит прокомментируйте...

2
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
13.11.2011, 16:46 #2
сделать method2 статическим
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <windows.h>
#include <process.h>
 
class T1
{
public:
   void method1();
   void method3();
   static void method2(void*);
};
 
void T1::method1()
{
   std::cout << "method1" << std::endl;
   HANDLE hThread = (HANDLE)_beginthread(T1::method2, 0, (void*)this);
   WaitForSingleObject(hThread, INFINITE);
}
void T1::method2(void* par)
{
   T1* p = (T1*)par;
   std::cout<<"method2"<< std::endl;
   p->method3();
 
}
void T1::method3()
{
   std::cout << "method3\n";
}
 
int main()
{
   T1 o;
   o.method1();
   return 0;
}
1
a_etot_nik
8 / 8 / 1
Регистрация: 09.04.2010
Сообщений: 58
13.11.2011, 16:57  [ТС] #3
Если metod2 сделать static то будет недоступен this.
Решил проблему так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   class T1
{
public:
   DWORD WINAPI metod1(PVOID pvContext);
   friend DWORD WINAPI _tInnerThread(PVOID pvContext);
   void method2();
};
DWORD WINAPI _tInnerThread(PVOID pvContext) 
 { 
    T1 * pClass = static_cast<T1*>(pvContext); 
    return(pClass->metod1(pvContext)); 
 }
 
void T1:: metod2()
{
   DWORD ThreadId;  
   HANDLE hThread = CreateThread(NULL,0,_tInnerThread,this,0,&ThreadId);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2011, 16:57
Привет! Вот еще темы с ответами:

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя - C++
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Как избавится от слов во входном потоке? - C++
Как избавится от слов во входном потоке? Программа должна считать (сохранение не обязательно) и подсчитать кол. слов до слова &quot;done&quot;....

Как заставить функцию выполняться в потоке - C++
По примерам написал код создания потока: #include &lt;iostream&gt; using namespace std; #include &lt;Windows.h&gt; DWORD WINAPI...

Как создать объект класса в потоке? - C++
Как создать объект класса в потоке? Это вообще возможно?


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

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

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