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

Вывод результата в дочернем потоке - C++

Восстановить пароль Регистрация
 
Soft
4 / 4 / 1
Регистрация: 20.09.2010
Сообщений: 102
27.09.2010, 18:31     Вывод результата в дочернем потоке #1
Имеется программа которая вычисляет три суммы для i, j, k. Программа разбита на два потока. Главный и дочерний. Нужно вывести результат вычислений в главном потоке. Посмотрите пожалуйста код, правильно ли я сделал ? Нужно обязательно использовать семафоры при выводе результата в дочернем потоке.
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
#include <iostream>
#include <pthread.h>
#include <semaphore.h>
#include <conio.h>
int S=0; 
int i;
int j;
int k; 
sem_t sem_out,sem_inpi,sem_inpj,sem_inpk;
void * func_first(void * args)
{
 
for (i=1; i <=8; i++) 
{
S +=i+1;
sem_post (&sem_inpi); 
}
for (j=4; j <=12; j++)
{
S+=j;
sem_post (&sem_inpj);
}
std::cout<<"S=" <<S;
sem_wait(&sem_out);
return NULL;
}
int main (void)
{
sem_init (&sem_out,0,0);
pthread_t first; 
pthread_create(&first,NULL,func_first,NULL); 
 
for (k=5; k<=20; k++) 
{
S += k*(2*k-1);
sem_wait(&sem_inpk); 
sem_post(&sem_out);
}
pthread_join(first,NULL); 
 getch();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2010, 18:31     Вывод результата в дочернем потоке
Посмотрите здесь:

некорректный вывод результата C++
не правильный вывод результата C++
C++ Вывод результата на экран
Вывод результата C++
C++ Вывод результата
Вывод результата поиска C++
C++ Вывод результата
Вывод дробного результата C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru