上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 注意: 在结构体中可以定义另一个结构体作为成员,用来解决实际问题 先定义 子结构体,后定义 父结构体 点击查看代码 #include<iostream> #include<string> using namespace std; //先定义 子 结构体 struct student { //成员列表 阅读全文
posted @ 2021-08-04 16:03 毋纵年华 阅读(910) 评论(0) 推荐(0)
摘要: 结构体数组 点击查看代码 #include<iostream> #include<string> using namespace std; //结构体数组 //1、定义结构体 struct Student { //成员列表 string name; int age; int score; }; in 阅读全文
posted @ 2021-08-04 15:25 毋纵年华 阅读(158) 评论(0) 推荐(0)
摘要: 注意:刚开始finish信号量为0;所以供应者(生产者)放完材料后,在P(finish)处阻塞;一直到吸烟者(消费者)拿走材料,并且执行V(finish)处时;供应者(生产者)进程从阻塞态变为就绪态 阅读全文
posted @ 2021-08-03 11:13 毋纵年华 阅读(102) 评论(0) 推荐(0)
摘要: 这里的“多”,应该理解为多类,不同类别的生产者和不同类别的消费者,生产者生产的和消费者消费的是不一样的产品 多线程的同步、互斥关系分析 问题:可不可以不用互斥信号量 当缓冲区大小大于1的时候,可能会导致数据覆盖的问题 从“事件”的角度来分析同步问题 阅读全文
posted @ 2021-08-03 09:42 毋纵年华 阅读(122) 评论(0) 推荐(0)
摘要: 点击查看代码 #include<iostream> #include<string> using namespace std; //创建一个 自定义的数据类型 //语法:struct 类型名称 { 成员列表 }; struct Student { //成员列表 string name; int ag 阅读全文
posted @ 2021-08-02 19:58 毋纵年华 阅读(355) 评论(0) 推荐(0)
摘要: 点击查看代码 #include<iostream> #include<string> using namespace std; int main(){ int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; cout << "第一个元素arr[0]是:" << arr[0] 阅读全文
posted @ 2021-08-02 19:36 毋纵年华 阅读(24) 评论(0) 推荐(0)
摘要: 技巧:看const右侧紧跟着的是指针还是常量,是指针就是常量指针,是常量就是指针常量。 const修饰指针 —— 常量指针 点击查看代码 #include<iostream> #include<string> using namespace std; int main(){ int a = 10; 阅读全文
posted @ 2021-08-02 19:05 毋纵年华 阅读(32) 评论(0) 推荐(0)
摘要: 问题描述 问题分析 如何实现 生产者进程在把产品放入缓冲区之前,需要检查是否有空闲缓冲区,执行P(empty)消耗一个空闲缓冲区; 当生产者把产品放入缓冲区之后,对产品数量信号量执行V(full)操作,增加一个产品。 消费者进程需要先检查是产品数量,执行P(full)消耗一个产品(或是非空缓冲区); 阅读全文
posted @ 2021-08-01 17:09 毋纵年华 阅读(297) 评论(0) 推荐(0)
摘要: 信号量机制实现进程互斥 注意:对不同的临界资源需要设置不同的互斥信号量 信号量实现进程同步 信号量机制实现前驱关系 注意在进程在阻塞态时,挂载到不同信号量对应的等待队列当中 阅读全文
posted @ 2021-08-01 16:05 毋纵年华 阅读(174) 评论(0) 推荐(0)
摘要: 信号量机制 wait原语(P)、signal原语(V) 信号量机制 —— 整型信号量 信号量机制 —— 记录型信号量 等待队列(struct process *L)、 阻塞原语(block) 注意动画分析过程中,value值的变化 阅读全文
posted @ 2021-08-01 12:39 毋纵年华 阅读(64) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 9 下一页