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

Реализация 2х потоков, работа с буфером, механизм семафоров - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с строками http://www.cyberforum.ru/cpp-beginners/thread112881.html
Помогите с заданием пожалуйста. Задание:"Отпечатать второе и третье слова произвольного текста."
C++ разбить строку в массив Как разбить массив символов в отдельный массив по слову?Я вот что-то написал,проде бы правильно,но когда например ввожу строку "heavy metal rulit vsegda",то mas выводится "rilitMMMMvsegda". int... http://www.cyberforum.ru/cpp-beginners/thread112876.html
C++ одномерный и двумерный массивы
1.составить алгоритм,с помощью одномерного массива Заполнить массив числами 2.1, 2.2, 2.3, …, 2.18. 2.составить алгоритм,с помощью двумернонго массива Дан двумерный массив размером 10х10....
C++ вид поиска, метод поиска
Написать программу, реализующую один из алгоритмов программного поиска данных в информационном массиве, расположенном в оперативной памяти (по желанию, можно считывать данные из файла), используя...
C++ Вопрос про заполнение Vector - а http://www.cyberforum.ru/cpp-beginners/thread112819.html
Доброго всем времени суток. Вопрос следующий есть vector mxyz размерностью 26873856 = 5184*5184 = 72*72*36*48*3 надо после каждого mxyz вставить элемент из другого вектора grace (размерностью...
C++ Проверить баланс скобок :)Здравствуйте. Помогите пожалуйста с задачей. Проверить имеется ли в заданном тексте баланс открывающихся и закрывающихся скобок, т.е. верно ли, что можно установить взаимно однозначное... подробнее

Показать сообщение отдельно
shoonya
0 / 0 / 0
Регистрация: 05.04.2010
Сообщений: 3
05.04.2010, 14:22  [ТС]
К сожалению программирование для меня непрофильный предмет, дается очень мало часов => очень тяжело разобраться. Только приступаю к решению данной задачи.
В универе мы писали две проги: Первая программа (MASTER) запускает вторую (SLAVE) и переходит в режим ожидания. Программа SLAVE читает идентификатор процесса (PID, Process Identifier) запустившей ее программы из командной строки и ожидает завершения работы программы MASTER.
Это и есть реализация Двух потоков?

Добавлено через 4 минуты
Вот листинг того, что у меня есть:
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
//Программа master
#include <windows.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
 
void main(int argc, char *argv[])
{
    char cmd[128];
    if (argc!=1)
        strcpy(cmd,argv[1]);
    else
        strcpy(cmd,"slave.exe");
    int pid=GetCurrentProcessId();
    sprintf(cmd+strlen(cmd)," %d",pid);
    cout<<"Master: Starting:" << cmd << "\n";
    cout.flush();
    STARTUPINFO info;
    memset(&info,0,sizeof(info));
    info.cb=sizeof(info);
    PROCESS_INFORMATION pinfo;
    if (!CreateProcess(NULL,cmd,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,
        NULL,NULL,&info,&pinfo))
    {
        cout<<"Master: Slave процесс не запущен\n";
        cout<<"Master: проверьте правильность указания имени процесса в коммандной строке";
    }
    cout<<"Master: Sleeping\n";
    cout.flush();
    Sleep(15000);
    cout<<"Master: Exiting\n";
    exit(0);
}
//Программа Slave
#include <windows.h>
#include <iostream.h>
#include <stdio.h> // temp
 
void main(int argc,char *argv[])
{
    if (argc!=2)
    {
        cerr<<"Slave: Необходимо сначала запустить MASTER.EXE.\n";
        exit(1);
    }
    int pid=atoi(argv[1]);
    HANDLE process=OpenProcess(PROCESS_QUERY_INFORMATION | SYNCHRONIZE, FALSE,pid);
    if (!process) cout<<"Slave:Ошибка открытия процесса\n";
    cout<<"Slave:Ожидание завершения процесса Master\n";
    cout.flush();
    if (WaitForSingleObject(process,INFINITE)==STATUS_WAIT_0)
        cout<<"Slave: Master завершил работу\n";
    else
        cout<<"Slave: Не известная ошибка\n";
    exit(0);
}

На основе MASTER мне нужно сделать генерацию чисел, а на основе SLAVE считывание и вывод на экран, я правильно поняла?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru