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

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

Войти
Регистрация
Восстановить пароль
 
Sraimon
11 / 11 / 0
Регистрация: 17.10.2014
Сообщений: 91
#1

Как реализовать многопоточность? - C++

22.11.2014, 12:05. Просмотров 345. Ответов 5
Метки нет (Все метки)

Как я понимаю отдельный поток может выполняться вместе с основным если я ошибаюсь поправьте меня !
1 поток
Кликните здесь для просмотра всего текста
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 <iostream>       // std::cout
#include <windows.h>
using namespace std;
void foo()
{
  for (int i=0; i<=10; i++)
  {
      Sleep(5000);
      cout << i << "4000 s \n";
  }
}
int main()
{
 
    foo();
    for (int q=0; q<=10; q++)
    {
        Sleep(2000);
        cout << q << "2000 s \n";
    }
    system("pause");
return 0;
}

Код выше как вы поняли будет выполняться
Кликните здесь для просмотра всего текста
0400 s
1400 s
2400 s
...
...
0200 s
1200 s
2200 s
...
...

а при 2 потоках
Кликните здесь для просмотра всего текста
0200 s
1200 s
0500 s
2200 s
3200 s
1500 s
...
...

это как я понял но при попытке создать 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
#include <iostream>       // std::cout
#include <windows.h>
#include <thread>
using namespace std;
void foo()
{
  for (int i=0; i<=10; i++)
  {
      Sleep(5000);
      cout << i << "5000 s \n";
  }
}
int main()
{
 
 
    thread first (foo);
    for (int q=0; q<=10; q++)
    {
        Sleep(2000);
        cout << q << "2000 s \n";
    }
    first.join();                // pauses until first finishes
    second.join();               // pauses until second finishes
    system("pause");
return 0;
}

ошибка
Кликните здесь для просмотра всего текста
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\c++0x_warning.h|32|error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.|

Мб какая библиотека отсутствует или не подключил чего в code blocks я не знаю прошу помощи может быть вообще не то делаю

Добавлено через 2 минуты
Забыл упомянуть в c++ я новичок знание в английском мягко говоря хреновые !
Было бы круто если мне все объяснили на пальцах !
Заранее всем спасибо .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 12:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как реализовать многопоточность? (C++):

Многопоточность на C++. Как реализовать? - C++
Здравствуйте! Имеется такая задача: Написать программу на С/С++, которая после запуска считает в отдельном потоке от 0 до 100, при этом...

Как реализовать многопоточность в консольном приложении С++ - C++
Добрый день уважаемые программисты и системные администраторы! Я начинающий программист на С++ и мне необходимо написать программу в...

Как создать многопоточность - C++
В сети гуглил, но так банального ответа для себя не нашёл, как размногопоточить приложение, в delphi делал так function getnumberbux:...

многопоточность, подскажите как. - C++
Добрый день. Подскажите как сделать многопоточное приложение с общим участком памяти(будет массив с данными). Читаю про...

Как правильно реализовывается многопоточность - C++
Здравствуйте! Стоит задача создать несколько потоков, которые будут выполнять какие-то действия. У Шлее (профессиональное...

C++ Как в многопоточность передать объект класса? - C++
Доброго времени суток! Подскажите пожалуйста одну вещь, у меня есть функция внутри класса и мне нужно передать её в мультипоточность. Вот...

5
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
22.11.2014, 12:12 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
-std=c++11 в опции компилятора
1
nmcf
5520 / 4830 / 1636
Регистрация: 14.04.2014
Сообщений: 19,608
22.11.2014, 12:15 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Там говорится, что поддержка C++11 нужна. Попробуй этот ключ добавить.
1
Sraimon
11 / 11 / 0
Регистрация: 17.10.2014
Сообщений: 91
22.11.2014, 12:16  [ТС] #4
амс куда ? =)
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
22.11.2014, 12:22 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
сюда:
Кликните здесь для просмотра всего текста
Как реализовать многопоточность?

или сюда:
Кликните здесь для просмотра всего текста
Как реализовать многопоточность?
1
Sraimon
11 / 11 / 0
Регистрация: 17.10.2014
Сообщений: 91
22.11.2014, 12:26  [ТС] #6
Большое спасибо всем =)
0
22.11.2014, 12:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2014, 12:26
Привет! Вот еще темы с ответами:

Указатель на имя файла как аргумент функции. Как реализовать? - C++
Доброго времени суток всем! Прошу помощи! Написал программу, есть пару моментов, сложных для меня. Необходимо написать две функции, одну...

незнаю как вывести полное решение для задачки.смысл улавливаю, а как реализовать - туплю - C++
Задана окружность, с помощью координат центра и радиуса. Определить, лежит ли она полностью в первой четверти. 1вывожу окружность и ...

Многопоточность в C++ и C++11 - C++
как я понял, многопоточность появилась в С++11 cтандарте. Почитал что его вроде как visual studio не поддерживает(?) есть компилятор gcc,...

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


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

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

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