利用互斥锁和计数信号完成生产者消费者问题一组生产者进程和一组消费者进程共享一个初始为空、大小为n的缓冲区,只有缓冲区没满时,生产者才把消息放入到缓冲区,否则必须等待;
只有缓冲区不空时,消费者才能从中取出消息,否则必须等待。
由于缓冲区是临界资源,它只允许一个生产者放入消息,或者一个消费者从中取出消息。
生产者和消费者对缓冲区互斥访问是互斥关系,同时生产者和消费者又是一个相互协作的关系,只有生产者生产之后,消费者才能消费,他们又是同步关系。
信号量设置:信号量mutex作为互斥信号量,它用于控制互斥访问缓冲池,互斥信号量初值为1;
信号量full用于记录当前缓冲池中“满”缓冲区数,初值为0。
信号量empty用于记录当前缓冲池中“空”缓冲区数,初值为n。
主函数担任接收参数,初始化信号量,创建生产者线程,创建消费者线程,睡眠一段时间后,结束程序
2019/4/24 15:34:27 2KB Linux 生产者消费者
1
tw8832驱动程序,次要是针对tw8832的配置,初始化,以及控制接口
2019/9/18 6:31:52 63KB tw8832
1
STM32F10x-LIN驱动;LIN对接USART2。
包含三个文件,usart2.c;
usart2.h;
main.c;包含USART2GPIO配置,工作形式配置,LIN配置;
main.c包含主函数和LIN的帧设定,初始化,校验,发送,接收等函数。
2020/1/9 22:17:01 4KB STM32 LIN
1
1.本设计要求写一个哈夫曼编码/译码系统。
要求:1.初始化(Initialization)。
从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。
2.编码(Encoding)。
利用已建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。
3.译码(Decoding)。
利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。
4.打印代码文件(Print)。
将文件CodeFile以紧凑格式显示在终端上,每行50个代码。
同时将此字符方式的编码写入文件CodePrint中。
5.打印哈夫曼树(TreePrinting)。
将已在内存中的哈夫曼树以直观的方式(树或凹入表方式)显示在终端上,同时将此字符方式的哈夫曼树写入文件TreePrint中。
资源包括:论文(分析、代码说明、逻辑结构)代码测试文件
2015/6/21 1:40:02 404KB C++
1
a) 建立备忘录的类,其中包含基础信息和标识符两个部分: 5b) 界面设计,界面分为编辑和查看两个部分 5c) 界面初始化 6d) 读写操作 6e) “添加”按钮呼应事件 6f) “清除”按钮呼应事件 6g) “查找”按钮呼应事件(上) 6h) ListShow显示函数 6i) “清空”按钮呼应事件 6j) “删除”按钮呼应事件 6k) 定时器设置函数 6l) “查询”按钮呼应事件 7m) 对软键盘的调用 7
2019/11/22 12:09:11 4.49MB 备忘录 MFC
1
零资源分下载,分享精神至上~一个综合型的Direct3D示例程序的2.0版。
加入绿宝石三维地形模仿系统。
用键盘上W,A,S,D,I,J,K,L,↑,↓,←,→12个键加上鼠标在美丽的三维空间中翱翔。
包括了Direct3D初始化,DirectInput输入处理,顶点缓存,光照与材质,文字输出,颜色,纹理贴图,四大变换,网格模型,X文件载入等等知识(当然还有默认被开启的深度缓存)。
其中的3D人物模型使用的是变形金刚中的大黄蜂。
背景音乐为魔兽3暗夜精灵进行曲。
源码的配套博文是《【VisualC++】游戏开发笔记四十八浅墨DirectX教程十六三维地形系统的实现》,文章地址为http://blog.csdn.net/zhmxy555/article/details/8685546,点击Release文件夹下的exe文件可以直接看到运行效果,运行需要DirectX运行库的支持。
报缺少D3D的DLL系列错误的童鞋们请google/百度一下“DirectX9.0cruntime”,下载并装个最新版的。
报缺少MVCR100D.Dll错误的朋友们去下一个安装就可以了,或者直接点击sln打开工程再次编译一次。
如果是想调试并运行源代码,但是报错了,请去下载最新版DirectXSDK并进行DirectX开发环境的配置。
编写环境:VS2010我的博客地址是http://blog.csdn.net/zhmxy555,源码结合配套文章一起看效果更佳。
希望能和大家一起交流,共同学习,共同进步。
2021/2/2 15:54:17 35.59MB DirectX Win32 C++ Direct3D
1
内涵pca9535初始化,读写等功能以及寄存器配置。
适用pca9535、tca9535,pca9555这三个芯片。
2022/9/12 0:59:09 4KB stm32 嵌入式 pca9535 mcu
1
这个文档详细引见了STM32在SPI模式下初始化、读写SD卡的知识,并且还给了这部分的硬件连接图,写得非常详细。
2021/2/22 19:33:18 782KB STM32 SD卡 SPI
1
针对特定机载设备总线通信形态的监测需求,设计了一种便携式ARINC429总线数据仿真与采集装置。
为了减小体积与重量,达到设计目标要求,该系统以PC104单板机结合ZHHK429-PC104-Plus板卡为核心实现。
论文描述了系统硬件的组成及原理,分析了软件结构及板卡的初始化、总线数据接收及发送的方法。
经测试,该系统实时性好,可靠性高,可有效满足具有该总线接口的通用机载设备的形态监测及维护的需要。
1
框架搭建、初始化数据库、其他设置
2020/2/20 19:05:17 765KB asp.net c# mvc
1
共 693 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡