Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
lightalex
0 / 0 / 1
Регистрация: 23.07.2012
Сообщений: 74
#1

Подскажите как параллельно запустить две функции в C++?

28.05.2014, 02:53. Просмотров 1095. Ответов 5
Метки нет (Все метки)

Всем доброй ночи!
Подскажите как параллельно запустить две функции в C++?
Если не трудно напишите код
Буду очень благодарен)

P.s. подключенные модули (может будет полезно):
C++
1
2
3
4
5
6
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <ctime>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 02:53
Ответы с готовыми решениями:

Подскажите, как CodeBlocks запустить с флагом -std=c++11
Я делаю так: Settings-&gt;Compiller-&gt;Global Compiller Settings-&gt;Other Options и...

Как обьединить две функции в одну?
Подскажите, как обьединить две функции в одну const int N = 3; int...

Как выполнить задание (написать две функции getAllDivisors и getLowestDivisor)
Надо написать две функции getAllDivisors и getLowestDivisor. Функция main...

Как объединенить две строки для передачи функции соообщения?
#include &quot;stdafx.h&quot; #include &lt;windows.h&gt; //#include &lt;iostream&gt; //using...

Перемножить две матрицы, причем запустить подсчет в несколько потоков
Всем привет. Суть задания перемножить две матрицы, причем запустить подсчет в...

5
Max Dark
шКодер самоучка
1943 / 1737 / 856
Регистрация: 09.10.2013
Сообщений: 3,841
Записей в блоге: 6
Завершенные тесты: 2
28.05.2014, 05:01 #2
Лучший ответ Сообщение было отмечено lightalex как решение

Решение

#include <pthread.h> - работает на большинстве ОС
#include <thread> class std::thread - так же, но нужен компилятор, поддерживающий стандарт С++11
fork - для *nix OS, под Windows нужен Cygwin
CreateThread и тд - работает только под Windows(под *nix нужно ставить wine)
1
lightalex
0 / 0 / 1
Регистрация: 23.07.2012
Сообщений: 74
28.05.2014, 10:53  [ТС] #3
Cra3y, не подскажете как воспользоваться CreateThread?
А то я еще вчера пытался - не получилось
У меня есть две функции которые надо запустить параллельно:
C++
1
2
void printTable();
void pressKey();
И ведь по идее подключается только
C++
1
include <windows.h>
Или я что-то забыл подключить?
0
Kuzia domovenok
2260 / 2029 / 459
Регистрация: 25.03.2012
Сообщений: 7,169
Записей в блоге: 1
28.05.2014, 11:37 #4
lightalex, по-моему, ты забыл показать, что это за функции! Возможно, потоки тут вообще не нужны!
0
lightalex
0 / 0 / 1
Регистрация: 23.07.2012
Сообщений: 74
28.05.2014, 16:10  [ТС] #5
Kuzia domovenok, я пишу тетрис
printTable выполняет отрисовку, смещение вниз, создание фигур (короче графическую часть)
pressKey считывает нажатие клавиш после которого мы смещаем фигуру или поворачиваем
Есть другой способ реализовать события клавиш кроме как параллельное использование функций?

Добавлено через 1 час 52 минуты
Цитата Сообщение от Cra3y Посмотреть сообщение
CreateThread и тд - работает только под Windows(под *nix нужно ставить wine)
Cra3y, вы сможете помочь разобраться как работает CreateThread?
0
Gygocopter
10 / 10 / 8
Регистрация: 05.02.2014
Сообщений: 124
28.05.2014, 18:04 #6
Лучший ответ Сообщение было отмечено lightalex как решение

Решение

есть функция _kbhit() - проверяет нажата ли клавиша, если нажата, считываем ее int var=_getch();
и выполняем действия в зависимости от кода клавиши...
вставить эту конструкцию после отрисовки фигуры(если у вас в цикле)
1
28.05.2014, 18:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2014, 18:04

ошибка в функции подскажите как исправить
в функции ввод списка с экрана, там был бесконечный цикл который прерывался...

Написать две пользовательские функции, эквивалентные стандартной функции strlen
Написать программу, содержащую две пользовательские функции определения длины...

подскажите какой ответ получится,не могу запустить!
#include&quot;stdafx.h&quot; #include&lt;iostream&gt; using namespace std; int main() {...


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

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

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