Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI-0122 Sistemas operativos
Ejemplos
|
|
|
CI0122 /
Ejemplos
/ pthreads / h2o |
#include <semaphore.h>
class SemPT {
public:
SemPT( int );
~SemPT();
int Signal();
int Wait();
private:
sem_t * sem;
};
class Mutex {
public:
Mutex();
~Mutex();
int Lock();
int Unlock();
private:
pthread_mutex_t * mutex;
};
class Lock {
public:
Lock();
~Lock();
int Acquire();
int Release();
pthread_mutex_t * getMutex() { return lock; }
private:
pthread_mutex_t * lock;
};
class Condition {
public:
Condition();
~Condition();
int Wait( Lock * conditionLock );
int Signal( Lock * conditionLock );
int Broadcast( Lock * conditionLock );
private:
pthread_cond_t * vc;
};