Files
os-labs/include/reader_writer.h
2024-12-17 19:49:16 +02:00

31 lines
547 B
C++

//
// Created by lumijiez on 12/8/24.
//
#ifndef READER_WRITER_H
#define READER_WRITER_H
#include <semaphore.h>
#include <fstream>
class ReaderWriter {
public:
ReaderWriter(int numReaders, int numWriters, std::string filename);
~ReaderWriter();
void run();
private:
int numReaders;
int numWriters;
std::string filename;
sem_t resourceAccess{};
sem_t readCountAccess{};
int readCount;
int writeCount;
static void* reader(void* arg);
static void* writer(void* arg);
};
#endif //READER_WRITER_H