Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 12.04.2018
Сообщений: 3

Решение задачи "писатели-читатели"

12.04.2018, 22:15. Показов 4184. Ответов 2

Студворк — интернет-сервис помощи студентам
Надо написать программу на языке си под линукс, проблема писателей-читателей, все её знают(если нет лучше загуглите быстрей поймёте), написать саму прогу изи, но суть в другом, надо сделать это через FIFO, ну или подобие. Объясняю, в одном терминале запускаю процесс писатель, в другом процесс читатель(несколько терминалов с читателями). В терминале писателя мы вводим текст с клавиатуры в файл, после ввода, читатели должны начать его читать(вывести на экран текст), принцип MUTEX обязателен, пока они читают(необязательно все), мы не можем ничего писать, и если мы пишем, они не могут читать. Нужна помощь, помогите пожалуйста, уже всё испробовал...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2018, 22:15
Ответы с готовыми решениями:

Читатели-писатели
Здравствуйте, дорогие форумчане! Столкнулся с проблемой читателей-писателей: необходимо написать лаб.раб, демонстрирующую решение этой...

Читатели - писатели
Всем доброй ночи! Готовлюсь сдавать преподавателю тему читатели-писатели, которую нам дали на самостоятельное изучение. Нужна ваша...

Классическая задача Дж. Рихтера "Читатели-писатели" с приоритетом писателей
Здравствуйте, получил недавно задачу реализовать код Дж. Рихтера "Писатели-читатели", только наоборот. То-есть приоритет у...

2
Заблокирован
12.04.2018, 22:52
Цитата Сообщение от CgoAst_ Посмотреть сообщение
всё испробовал
Код проб можно увидеть?
Цитата Сообщение от CgoAst_ Посмотреть сообщение
надо сделать это через FIFO, ну или подобие
Так фифо, или подобие? Если фифо, то с несколькими читателями облом сразу.
0
0 / 0 / 1
Регистрация: 12.04.2018
Сообщений: 3
12.04.2018, 22:59  [ТС]
Лучший ответ Сообщение было отмечено CgoAst_ как решение

Решение

Подобие фифо, не обязательно его использовать

Добавлено через 1 минуту
Writer.c

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
#include<stdio.h>
#include<fcntl.h>
#include<string.h>
 
 
#define BUFFER 200
 
int main(int argc, char *argv[]) {
 
    char input[BUFFER]={0};
    int out_fd=open("clientToServer.fifo", O_WRONLY);
 
    if (out_fd==-1) {
        perror("open error");
    }
 
    while (1) {
 
        printf("Напишите текст (напишите Quit для выхода)\n");
        fgets(input, BUFFER, stdin);
        if (input[strlen(input)-1]=='\n') {
            input[strlen(input)-1]='\0';
        }
 
        if (strcmp(input, "Quit")==0) {
            printf("Пока!");
            break;
        }
 
        if (write(out_fd, input, strlen(input))==-1) {
            perror("write error");
        }
    }
 
    return 1;
}

reader. c

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
#include<stdio.h>
#include <fcntl.h>
#include <stdlib.h>
 
 
#define INGOING "clientToServer.fifo"
 
#define BUFFER 200
 
int main(int argc, char *argv[]) {
 
    char in[BUFFER];
 
    mkfifo(INGOING, 0666);
 
    printf("Привет!.\n");
 
    int in_fd=open(INGOING, O_RDONLY);
 
    if (in_fd==-1) {
        perror("open error");
        exit(-1);
    }
 
    while (read(in_fd, in, BUFFER)>0) {
        printf("Я прочитал этот текст!: %s\n", in);
    }
 
    return 2;
}
Добавлено через 1 минуту
В этом коде проблема в том что нет ни потоков, ни симафоров, и пока не могу понять как сделать принцип MUTEX здесь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2018, 22:59
Помогаю со студенческими работами здесь

Семафоры: решение задачи "Читатели/писатели"
Здравствуйте Задача: разработать комплекс программ, который демонстрирует решения по-дачи «читатели-писатели». В комплекс должны входить:...

Задача Читатели-Писатели
Помогите , пожалуйста!!!!!! Задача: разработать комплекс программ, который демонстрирует решение за- дачи «читатели-писатели». В...

Читатели - Писатели через терминалы
Есть условие: написать код для решения проблемы читатели писатели, но не самым обычным способом, т.е. есть один файл - писатель, другой -...

Синхронизация нитей. Задача читатели-писатели
Задача читатели - писатели. Есть несколько нитей, только читают эти данные (читатели), и несколько нитей, только записывают данные или...

"Читатели-Писатели"
Необходимо решение данной проблемы. Приоритет у читателей. Способ синхронизации - Event. Вот к чему дошел: #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru