
多线程与多进程
文章平均质量分 61
mikon_lee
这个作者很懒,什么都没留下…
展开
-
生产者与消费者
#include#include#include#include #include using namespace std;sem_t mutex;sem_t fillCount;sem_t emptyCount;list l;int x;pthread_t thread[2];void *producer(void *);void *consumer(void *);原创 2013-07-11 13:44:41 · 597 阅读 · 0 评论 -
Peterson算法(线程间互斥)
#include#includeunsigned int flag[2] = {0}; unsigned int turn = 1; void* process1() { while(1) { flag[0] = 1; turn =1; while(flag[1] && (turn ==1)); printf("process1\n"); fl原创 2013-07-11 16:44:41 · 2169 阅读 · 0 评论 -
多进程与多线程
多进程要用到fork()函数,多线程要用到pthread_create()函数,但是在核内执行的都是do_fork(),dofork()提供了很多参数,例如:CLONE_VM(共享内存空间)、CLONE_FS(共享文件系统信息)、CLONE_FILES(共享文件描述符表)、CLONE_SIGHAND(共享信号句柄表)和CLONE_PID(共享进程ID,仅对核内进程,即0号进程有效)。创建多进程原创 2013-07-12 10:03:34 · 548 阅读 · 0 评论 -
TCP回射程序
服务器:#include #include /* basic system data types */#include /* basic socket definitions */#include /* sockaddr_in{} and other Internet defns */#include /* ANSI C header file */#include /*原创 2013-07-17 12:14:45 · 544 阅读 · 0 评论 -
读者写者问题
读者写者问题描述如下:1.同一时刻允许多个进程读2.只要有进程在写读进程就应该阻塞3.只要有进程在写写进程就应该阻塞所以利用记录型信号量代码如下:var rmutex,wmutex:semaphore :=1,1readcount:integer :=0; Reader:beginrepeatwait(rmutex);if(readcount==0) wa原创 2013-09-10 17:13:10 · 944 阅读 · 0 评论