
C语言实战
Lanciberrr
这个作者很懒,什么都没留下…
展开
-
C语言实战——哲学家问题
C语言实战——哲学家问题问题描述有五个哲学家绕着圆桌坐,每个哲学家面前有一盘面,两人之间有一支筷子,这样每个哲学家左右各有一支筷子。哲学家有2个状态,思考或者拿起筷子吃饭。如果哲学家拿到一只筷子,不能吃饭,直到拿到2只才能吃饭,并且一次只能拿起身边的一支筷子。一旦拿起便不会放下筷子直到把饭吃完,此时才把这双筷子放回原处。如果,很不幸地,每个哲学家拿起他或她左边的筷子,那么就没有人可以吃到饭了。哲学家进餐问题是一个多线程运用的经典例子,涉及到线程同步/互斥,临界区访问问题以及死锁问题。解决方法方法一原创 2020-06-06 14:27:28 · 2804 阅读 · 2 评论 -
C语言实战——生产者消费者问题
C语言实战——生产者消费者问题方法摘要生产者消费者共享缓冲区,生产者向缓冲区中放数据,消费者从缓冲取中取数据,当缓冲区中被放满时,生产者进程就必须进入挂起状态,直到消费者从缓冲中取走数据时,生产者才能继续向缓冲区中存放数据,同样当缓冲取中没有数据时,消费者进程就必须进入挂起休眠状态,直到生产者向缓冲区中放入数据时,消费者才能被唤醒继续从缓冲区中取走数据。简写代码对于生产者:void producer(void){ int item; while(1) { item = produc原创 2020-06-06 14:26:59 · 10292 阅读 · 3 评论 -
C语言实战——学生管理系统
C语言实战学生管理系统 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <direct.h> struct Stu { char name[32]; char num[24]; int grade; }; int main()...原创 2019-11-17 15:35:05 · 431 阅读 · 0 评论