add reader writer header, fix cmakelists

This commit is contained in:
2024-12-08 19:06:30 +02:00
parent 4853b9ef0a
commit ec1286ed40
3 changed files with 37 additions and 1 deletions

29
include/reader_writer.h Normal file
View File

@@ -0,0 +1,29 @@
//
// 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, const std::string& filename);
~ReaderWriter();
void run();
private:
int numReaders;
int numWriters;
std::string filename;
sem_t resourceAccess;
sem_t readCountAccess;
int readCount;
static void* reader(void* arg);
static void* writer(void* arg);
};
#endif //READER_WRITER_H