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

Синхронизация процессов при помощи мьютексов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Статистика встречаемости символов в файле http://www.cyberforum.ru/cpp/thread63376.html
В файле содержится какое либо сообщение, предложение или много предложений. Необходимо подсчитать количество каждого встречаемого символа из файла и подсчитать вероятность встречаемости каждого из них, т.е. разделить количество встречаемости конкретного символа на общее количество символов. Заранее сасибо!!!
C++ Смещение элементов одномерного массива Осуществить сжатие массива А(30), удалив из него все положительные элементы. http://www.cyberforum.ru/cpp/thread63331.html
Структуры,работа с файлом C++
ув программисты,вот меня заинтересовала работата со структурами,пожалуйста,приведите мне пример проги.Можно так: существует файл в нем записи типа: адресс: номер: зарплата: надо ввести на экран,и вывести в файл данные помогите буду рад ответам
нужно написать программу! C++
программу нужно на с++ В файле заданы координаты концов отрезков. Вывести их на экран. Отдельным цветом выделить три пары отрезков, которые пересекаются и имеют наибольшую суммарную длину. Формат записи данных в файле: Vidrizok1: x1=22; y1=130; x2=340; y2=14; Vidrizok2: x1=45; y1=39; x2=17; y2=200.
C++ Исправьте ошибки! http://www.cyberforum.ru/cpp/thread62900.html
Перемножение двух матриц. Мой код:#include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> void proizv (int **mas1,int **mas2,int x1,int y1,int y2) { int **mas3; int i,j,k;
C++ MainThread Обьясните дураку пытаюсь втыкнуть каким макаром строчка MainThread; заменяет весь WinMain? подробнее

Показать сообщение отдельно
Акелла
Сонный металюга
 Аватар для Акелла
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
13.11.2009, 22:20  [ТС]     Синхронизация процессов при помощи мьютексов
т.е. необходимо применять семафоры, так?

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <semaphore.h>
#include <pthread.h>
#include <string.h>
 
#define BUF_SIZE 1024
 
char buf[BUF_SIZE];
sem_t bin_sem;
 
pid_t makeproc(void)
{
    pid_t pid;
 
    if((pid = fork())<0)
    {
       printf("fork faled\n");
       exit(1);
    }
    else return pid;
}
 
 
int my_sem_init(void)
{
    int res;
   res = sem_init(&bin_sem,  0, 0);
    if(res != 0)
   {
       printf("semaphore init falled!\n");
        exit(1);
   }
   else return res;
}
 
int main(void)
{
    pid_t pid;
    char *message;
    int res, iLenStr;
 
   res = my_sem_init();
    
 
    pid = makeproc();
 
    switch(pid)
    {
        case 0:
        {
            printf("this is a child\n");
            sleep(6);
 
            printf("lock child - finish\n");
 
            sem_post(&bin_sem);
 
        }break;
 
        default:
        {
 
           sem_wait(&bin_sem);
 
            printf("this is a parent\n");
            sleep(4);
 
            printf("lock parent - finish\n");
 
          }break;
    }
 
sem_destroy($bin_sem);
 
}
 
Текущее время: 08:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru