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

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

Войти
Регистрация
Восстановить пароль
 
Den-s
1 / 1 / 0
Регистрация: 24.03.2013
Сообщений: 124
#1

Многопоточное приложение - C++

17.10.2013, 12:35. Просмотров 759. Ответов 6
Метки нет (Все метки)

Есть класс. В нем 2 функции. как в одной функции можно создать 2 потока выполняющую одну и туже функцию. иможно ли передать в поток интовое значение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 12:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Многопоточное приложение (C++):

Многопоточное приложение - C++
Помогите пожалуйста реалзовать данное приложение в консоли VS C++ . Просто не понимаю принцыпы работы потоков в данной ситуации и сколько...

Написать многопоточное приложение - C++
Один поток используется для вычисления x по формуле x=t*t+3t+4, где t-величина, зависящая от системного времени, а второй поток— для...

Многопоточное программирование - C++
Доброго времени суток! Пытался разобраться но не нашел понятных ответов на некоторые вопросы, поэтому, пожалуйста, не отсылайте к...

Многопоточное программирование - C++
Добрый вечер, есть программа, которая ищет окно HWND Handle_ArcheAge; Handle_ArcheAge = FindWindow(L"ArcheAge", NULL); //ищем окно по...

многопоточное программирование на с++ - C++
необходимо создать приложение которое с использованием thread (потоков) решит уравнение ну например дроюбное , то есть один поток решит...

Многопоточное программирование - C++
Как я понимаю, есть много библиотек, с помощью которых мы можем использовать многопоточность. Чем они отличаются? Какая лучше? Почему? ...

6
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.10.2013, 13:16 #2
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
#include <iostream>
#include <thread>
#include <cstdlib>
 
class C
{
public:
    void f() const
    {
        std::thread t1( g, 42 );
        std::thread t2( g, 100500 );
 
        t1.join();
        t2.join();
    }
private:
    static void g( int v ) 
    {
        for( int i=0; i<10; ++i )
            std::cout << v << std::endl;
    }
};
 
int main() {
    C c;
    c.f();
    
    std::system( "pause" );
    return 0;
}
2
Den-s
1 / 1 / 0
Регистрация: 24.03.2013
Сообщений: 124
17.10.2013, 13:34  [ТС] #3
Спасибо=)

Добавлено через 6 минут
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
class Pro
{
public:
 
float **Mas1;
float **Mas2;
float **Mas3;
int H;
int M;
 
Pro(int h=4,int m=6)
{ 
  H=h;
  M=m;
 
  Mas1=new float* [h];
  for(int i=0;i<h;i++)
      Mas1[i]=new float [m];
 
  Mas2=new float* [m];
  for(int i=0;i<m;i++)
      Mas2[i]=new float [h];
 
   Mas3=new float* [h];
  for(int i=0;i<h;i++)
      Mas3[i]=new float [h];
 
  
  for(int i=0;i<h;i++)
      for(int j=0;j<m;j++)
         { Mas1[i][j]=(rand() % 100 + 1) / float((rand() % 10 + 1));
           Mas2[j][i]=(rand() % 100 + 1) / float((rand() % 10 + 1));
         }
 
  
 
}
void m()
{
    thread t1( Multiplication,40);
    t1.join();
    
}
 
 
void  Multiplication(int v)
{  
 
  for (int i=0;i<H;i++)
   { 
 
       for(int j=0;j<H;j++)
    {
        float ask=0;
 
        for(int z=0;z<M;z++)
            ask+=Mas1[i][z]*Mas2[z][j];
 
       Mas3[i][j]=ask;
       cout<<Mas3[i][j]<<" ";
 
     }
    cout<<endl;
  }
 
 
}
 
 
 
 
 
};
 
int main()
{ Pro c;
c.m();
}
выдает ошибки
Ошибка 1 error C3867: Pro::Multiplication: в вызове функции отсутствует список аргументов; используйте "&Pro::Multiplication" для создания указателя на член
Ошибка 2 error C2661: std::thread::thread: нет перегруженной функции, принимающей 2 аргументов


Что это?

Добавлено через 3 минуты
Я так понимаю это из-за конструктора?

 Комментарий модератора 
Используйте теги кода для выделения собственно кода.
В окне сообщения, слева вверху кнопка "C++".
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.10.2013, 13:37 #4
Den-s, для выделения кода используйте теги на панели инструментов сообщения.
В какой среде работаете?
1
Den-s
1 / 1 / 0
Регистрация: 24.03.2013
Сообщений: 124
17.10.2013, 13:38  [ТС] #5
visual studio 2012
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.10.2013, 13:42 #6
Den-s, создание потока для функции члена класса описывается так
C++
1
std::thread thread(&class_type::method_name, this, arg1, arg2, ...);
1
Den-s
1 / 1 / 0
Регистрация: 24.03.2013
Сообщений: 124
17.10.2013, 13:43  [ТС] #7
Большое спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2013, 13:43
Привет! Вот еще темы с ответами:

Многопоточное программирование - C++
Добрый день! Можете посоветовать кнгиги по многопоточному программированию на C++, не привязанные к ОС, использую Qt. Желательно, что...

Многопоточное и параллельное программирование - C++
Уважаемые участники форума! Подскажите, пожалуйста, литературу по многопоточному и параллельному программированию на русском и возможно...

Многопоточное умножение матриц - C++
Всем привет! нужно распараллелить матрицу с помощью thread. Пробовал параллелить вычисление каждого элемента, но время порождения потока...

Многопоточное матрично-векторное произведение - C++
Доброго времени суток. Хочу написать многопоточный вариант матрично-векторного произведения. Единственное, что приходит на ум, - в методе...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
17.10.2013, 13:43
Ответ Создать тему
Опции темы

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