linux
lalalademaxi
这个作者很懒,什么都没留下…
展开
-
linux 哲学家进餐问题 c++
#include#include#include#include#include#include#define N 5#define LEFT i#define RIGHT (i+1)%Nusing namespace std;class Semaphore{ private: sem_t sem; public:原创 2017-11-13 10:31:25 · 1431 阅读 · 0 评论 -
linux 生产者消费者问题 c++
条件锁解决问题#include#include#include#include#include#includeusingnamespace std;constint BUFFER_LENGTH=10;int buffer[BUFFER_LENGTH];int front=0;int rear=-1;int size=0;int add原创 2017-11-13 10:55:20 · 303 阅读 · 0 评论 -
linux 读者写着问题 c++
用读写锁解决namespace std;pthread_rwlock_t rwlock;int add=0;void *read(void*param){ string name=*((string*)param); while(true){ if(add>=30){ break; } pthread原创 2017-11-13 10:58:57 · 243 阅读 · 0 评论 -
linux 读者写着问题
读者优先1. 读者1) 写者写时,不可读2) 有别的读者正在读,可读2. 写者1) 有读者正在读,不可写2) 有写者正在写,不可写3) 无读者正在读,无写者正在写,可写#include #include #include #include #include #include #define READER 5#define原创 2017-11-15 18:13:22 · 300 阅读 · 0 评论 -
linux 读者写者问题 读者优先c++
#include #include #include #include #include #include #define READER 5#define WRITER 3 using namespace std;int readcont=0;sem_t cont;sem_t write1;pthread_t rid[READER];pthread_t wid[WRITE原创 2017-12-20 21:49:57 · 2991 阅读 · 1 评论 -
linux 哲学家进餐问题 奇数偶数号科学家
规定奇数号哲学家先去拿他左边的筷子,然后再去拿右边的筷子;偶数号哲学家则相反。按此规定,将是1,2号哲学家竞争1号筷子;3,4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总有一位哲学家能够获得两只筷子而进餐。#include#include#include#include#include#include#define N 5#de原创 2017-12-06 17:47:38 · 2485 阅读 · 1 评论