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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Collaps
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 30
#1

Написать многопоточное приложение - C++

19.03.2012, 12:32. Просмотров 1422. Ответов 3
Метки нет (Все метки)

Один поток используется для вычисления x по формуле x=t*t+3t+4, где t-величина, зависящая от системного времени, а второй поток— для вычисления y по формуле y=2x+6, где x— вычислен в первом потоке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2012, 12:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать многопоточное приложение (C++):

Многопоточное приложение - C++
Есть класс. В нем 2 функции. как в одной функции можно создать 2 потока выполняющую одну и туже функцию. иможно ли передать в поток интовое...

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

Можно ли написать приложение? - C++
Доброго всем времени суток! :) Ребят, подскажите пожалуйста.. Я слышала, что на С++ можно писать приложения под Андроид. Это правда? ...

Как написать оконное приложение на С++? - C++
Здравствуйте, возможно уже было но все же... Хочу написать оконное приложение,используя C++, знаю,что для этого надо знать WinAPI, но мне...

Написать программу (Windows приложение в С++) - C++
:umnik: Помогите пожалуйста! - сформировать датчиком случайных чисел целочисленную матрицу А(5х5); (Это уже готово) - найти в...

Структуры (Написать приложение работы с журналом) - C++
Написать приложение, которое демонстрирует работу с журналом – оценки по заданным предметам для студентов. Главное меню: 1. Генерация...

3
pervokursnica
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 9
06.06.2013, 09:55 #2
Цитата Сообщение от Collaps Посмотреть сообщение
Один поток используется для вычисления x по формуле x=t*t+3t+4, где t-величина, зависящая от системного времени, а второй поток— для вычисления y по формуле y=2x+6, где x— вычислен в первом потоке
у меня тоже такое есть в задании, помогите пожалуйста разобраться.
среда разработки не имеет значения
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
06.06.2013, 13:56 #3
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
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <ctime>
 
using namespace std;
 
DWORD WINAPI ThreadProc(LPVOID Param);
DWORD WINAPI ThreadProc2(LPVOID Param);
 
int x,y;
 
int main(int argc, char *argv[])
{
    
    HANDLE hf;
    
   hf = CreateThread(NULL,0,ThreadProc,0,0,NULL);
    
   WaitForSingleObject( hf, INFINITE);
                                
   CreateThread(NULL,0,ThreadProc2,0,0,NULL);
                                
                                
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
DWORD WINAPI ThreadProc(LPVOID Param){
      
int t;
      
      srand (time (NULL));
     t = rand()%100+1;
     
x=t*t+3*t+4;
      
      cout << "X = "<<x<<"\n";
      
      }
      
DWORD WINAPI ThreadProc2(LPVOID Param){
      
      y=2*x+6;
      
cout << "Y = "<<y<<"\n";
      
      }
Collaps, pervokursnica, читаем Джеффри Рихтер - Создание эффективных win32-приложений.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.06.2013, 12:02 #4
Не очень понятно зачем разбивать на 2 потока, если они всё равно будут выполняться последовательно. Ну, только если конвейеризацию какую-то сделать, если всё это зациклить скажем. А используя C++11, можно сделать например так:
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
#include <iostream>
#include <future>
#include <cstdint>
#include <ctime>
 
int x( int t )
{
    return t*t + 3*t + 4;
}
 
int y( int x )
{
    return 2*x + 6;
}
 
int main()
{
    auto a = std::async( x, time(0)%10 );
    auto b = std::async( y, a.get() );
    std::cout << b.get() << std::endl;
    std::system( "pause" );
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2013, 12:02
Привет! Вот еще темы с ответами:

Написать приложение для управления программными проектами - C++
4. Приложение для управления программными проектами Вся информация приложения хранится в трех файлах: – работники (идентификатор...

Как написать windows-платформно независимое приложение ? - C++
Нужно простейшее диалоговое приложение, фактически установщик, копирующий файлы, но нужно, чтобы работало по умолчанию на линейке...

Консольное приложение. Матрицы.Написать и протестировать функции - C++
Написать и протестировать функции вычитания матриц, изменения знака матрицы, формирования единичной матрицы, умножения матрицы слева на ее...

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


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
10.06.2013, 12:02
Ответ Создать тему
Опции темы

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