生产者—消费者:在同一个进程地址空间内执行的两个线程生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。
消费者线程从缓冲区中获得物品,然后释放缓冲区。
当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。
当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来。
生产者—消费者问题:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者进程的标识符。
说明:有界缓冲区(提示:有界缓冲区可用数组实现)内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。
(2)生产者和消费者各有两个以上。
(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。
代码可以运行的,放心使用。
2024/10/20 0:58:52 450KB C++
1
假设M个生产者和N个消费者共享一个具有K(K大于1)个缓冲区的循环缓冲结构BUFFER(提示:可以用一个循环队列或一个整型数组来表示),并设置两个指针IN和OUT,其中IN指向生产者线程当前可用的空缓冲区的在BUFFER中的下标,OUT指向消费者线程当前可用的满缓冲区在BUFFER中的下标。
生产者线程和消费者线程并发执行,当无空缓冲区时,生产者线程阻塞;
当无满缓冲区时消费者线程阻塞,并且多个生产者线程对IN的使用必须互斥,多个消费者线程对OUT的使用也必须互斥
2024/10/18 17:47:39 5KB 生产者消费者
1
*问题描述:一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地(用1表示),*要么是障碍物(用0表示)。
找出从起点到终点的最短移动序列,其中U,D,L,R,*分别代表往上,下,左,右移动到相邻单元格。
任何时候都不能在障碍格中,*也不能走到迷宫之外,起点和终点保证是空地。
n,m<=100.**分析:可以使用bfs,节点的访问顺序恰好是它们从根节点距离从小到大的顺序。
类*似的,也可以用bfs来按照起点的距离顺序遍历迷宫图。
不断沿着父亲指针走,*保存方向序列dir,最后反向输出。
*比深度优化的效率要高很多,因为每次都定义了活结点还有下一个扩展节点,*在活结点当中去寻找扩展节点,不会盲目的搜索到底,而是有一定的选择性。
*因此我们可以定义记录扩展节点的数组,并且定义函数来判断,看下一层将要*被搜索的节点是不是能够作为扩展节点。
这就运用到了分支限界的知识。
*
2024/10/17 14:52:18 6KB 分析与详解代码部分。
1
用指针和结构体做的一个无数据库的图书管理系统,内附操作演示和效果演示。
该资源免费分享,供道友们学习和使用,希望大家能点赞关注,如有问题可留言交流
2024/10/16 20:25:46 25.65MB c语言 源代码 图书管理系统
1
有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1~20这20个整型数。
1.每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者线程的标识符;
2.生产者和消费者各有两个以上;
3.多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
1
本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。
基本信息原书名:TheC++ProgrammingLanguage,SpecialEdition原出版社:AddisonWesley作者:(美)BjarneStroustrup译者:裘宗燕丛书名:计算机科学丛书出版社:机械工业出版社ISBN:7111102029上架时间:2002-7-12出版日期:2002年7月页码:936版次:1-1内容简介  本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。
标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。
本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。
本书的目的就是帮助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。
适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。
[center][ahref=http://www.china-pub.com/main/sale/c++tb.htmtarget=_blank]c++之父bjarnestroustrup博士专访[/a]  [ahref="http://www.is.pku.edu.cn/~qzy/cpp.htm"target="_blank"]《c++程序设计语言》程序的更正和更新[/a]  [ahref="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip"target="_blank"]本书忠告[/a][/center]作译者作者:BjarneStroustrupBjarneStroustrup现任AT&T实验室的大型程序设计研究部的主管。
1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。
1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的GraceMurrayHopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。
1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。
[同作者作品]C++程序设计语言(特别版)(英文影印版)C++语言的设计和演化[按需印刷]C++程序设计语言(特别版)译者:裘宗燕知名译者,翻译严谨,喜与读者交流。
  裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。
已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999)[同作者作品]计算机基础教程(上下)(文科类)(裘宗燕等)数据结构——C++与面向对象的途径数据结构--C++与面向对象的途径(修订版)目录出版者的话专家指导委员会中文版序译者序序第2版序第1版序导论第1章致读者31.1本书的结构31.1.1例子和参考41.1.2练习51.1.3有关实现的注记51.2学习c++61.3c++的设计71.3.1效率和结构81.3.2哲学注记91.4历史注记91.5c++的使用111.6c和c++12.1.6.1给c程序员的建议131.6.2给c++程序员的建议131.7有关在c++里编程的思考141.8忠告151.9参考文献16第2章c++概览192.1为什么是c++192.2程序设计范型192.3过程式程序设计202.3.1变量和算术212.3.2检测和循环222.3.3指针和数组232.4模块程序设计232.4.1分别编译242.4.2异常处理252.5数据抽象262.5.1定义类型的模块272.5.2用户定义类型282.5.3具体类型292.5.4抽象类型312.5.5虚函数332.6面向对象的程序设计332.6.1具体类型的问题332.6.2
2024/10/13 4:51:33 51.87MB C++ 程序设计语言 特别版 详细书签版
1
《C和指针》提供与C语言编程相关的全面资源和深入讨论。
《C和指针》通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。
书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
第1章 快速上手1.1 简介1.1.1 空白和注释1.1.2 预处理指令1.1.3 main函数1.1.4 read_column_numbers函数1.1.5 rearrange函数1.2 补充说明1.3 编译1.4 总结第2章 基本概念2.1 环境2.1.1 翻译2.1.2 执行2.2 词法规则2.2.1 字符2.2.2 注释2.2.3 自由形式的源代码2.2.4 标识符2.2.5 程序的形式2.3 程序风格2.4 总结第3章 数据3.1 基本数据类型3.1.1 整型家族3.1.2 浮点类型3.1.3 指针3.2 基本声明3.2.1 初始化3.2.2 声明简单数组3.2.3 声明指针3.2.4 隐式声明3.3 typedef3.4 常量3.5 作用域3.5.1 代码块作用域3.5.2 文件作用域3.5.3 原型作用域3.5.4 函数作用域3.6 链接属性3.7 存储类型3.8 static关键字3.9 作用域、存储类型示例3.10 总结第4章 语句4.1 空语句4.2 表达式语句4.3 代码块4.4 if语句4.5 while语句4.5.1 break和continue语句4.5.2 while语句的执行过程4.6 for语句4.7 do语句4.8 switch语句4.8.1 switch中的break语句4.8.2 default子句4.8.3 switch语句的执行过程4.9 goto语句4.10 总结第5章 操作符和表达式5.1 操作符5.1.1 算术操作符5.1.2 移位操作符5.1.3 位操作符5.1.4 赋值5.1.5 单目操作符5.1.6 关系操作符5.1.7 逻辑操作符5.1.8 条件操作符5.1.9 逗号操作符5.1.10 下标引用、函数调用和结构成员5.2 布尔值5.3 左值和右值5.4 表达式求值5.4.1 隐式类型转换5.4.2 算术转换5.4.3 操作符的属性5.4.4 优先级和求值的顺序5.5 总结第6章 指针6.1 内存和地址6.2 值和类型6.3 指针变量的内容6.4 间接访问操作符6.5 未初始化和非法的指针6.6 NULL指针6.7 指针、间接访问和左值6.8 指针、间接访问和变量6.9 指针常量6.10 指针的指针6.11 指针表达式6.12 实例6.13 指针运算6.13.1 算术运算6.13.2 关系运算6.14 总结第7章 函数7.1 函数定义7.2 函数声明7.2.1 原型7.2.2 函数的缺省认定7.3 函数的参数7.4 ADT和黑盒7.5 递归7.5.1 追踪递归函数7.5.2 递归与迭代7.6 可变参数列表7.6.1 stdarg宏7.6.2 可变参数的限制7.7 总结第8章 数组8.1 一维数组8.1.1 数组名8.1.2 下标引用8.1.3 指针与下标8.1.4 指针的效率8.1.5 数组和指针8.1.6 作为函数参数的数组名8.1.7 声明数组参数8.1.8 初始化8.1.9 不完整的初始化8.1.10 自动计算数组长度8.1.11 字符数组的初始化8.2 多维数组8.2.1 存储顺序8.2.2 数组名8.2.3 下标8.2.4 指向数组的指针8.2.5 作为函数参数的多维数组8.2.6 初始化8.2.7 数组长度自动计算8.3 指针数组8.4 总结第9章 字符串、字符和字节9.1 字符串基础9.2 字符串长度9.3 不受限制的字符串函数9.3.1 复制字符串9.3.2 连接字符串9.3.3 函数的返回值9.3.4 字符串比较9.4 长度受限的字符串函数9.5 字符串查找基础9.5.1 查找一个字符9.5.2 查找任何几个字符9.5.3 查找一个子串9.6 高级字符串查找9.6.1 查找一个字符串前缀9.6.2 查找标记9.7 错误信息9.8 字符操作9.8.1 字符分类9.8.2 字符转换9.9 内存操作9.10 总结第10章 结构和联合10.1 结构基础知识10.1.1 结构声明10.1.2 结构成
2024/10/13 3:32:42 29.13MB c和指针 pdf 下载 编程
1
想要彻底理解C++11和C++14,不可止步于熟悉它们引入的语言特性(例如,auto型别推导、移动语义、lambda表达式以及并发支持)。
挑战在于高效地运用这些特性——从而使你的软件具备正确性、高效率、可维护性和可移植性。
这正是这本实用的图书意欲达成的定位。
它描述的正是使用C++11和C++14——现代C++来撰写真正卓越的软件之道。
涵盖以下主题:大括号初始化、noexcept规格、完美转发,以及智能指针的make函数的优缺点std::move、std::forward、右值引用和万能引用之间的联系撰写整洁、正确以及高效的lambda表达式的方法std::atomic和volatile有怎样的区别,它们分别用于什么场合,以及它们和C++的并发API有何联系“旧”C++程序设计(即C++98)中的最佳实践要求在现代C++的软件开发中作出哪些...
2024/10/6 9:17:35 1.79MB C++11 C++14
1
课题研究目的:温度数我们日常生产和生活中实时在接触到的物理量,但仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现让人们直观的了解温度。
温度是一种最基本的环境参数,人们生活与环境息息相关,在工业生产过程中需要实时测量并记录温度,在工业生产中也离不开温度的测量,因此研究温度测量记录方法具有重要意义。
信息处理技术取得的进展以及微处理器和计算机技术的高速发展,都需要在传感器的开发方面有相应的进展。
微处理器现在已经在测量和控制系统中得到了广泛的应用。
随着这些系统能力的增强,作为信息采集系统的前端单元,被测量信号输入的第一道关口,传感器的作用越来越重要。
而测温系统更是朝着测量精度高、范围大、稳定性好、低功耗等方向发展。
温度无时无刻不在影响着人们生活的方方面面。
因此,对实时温度的测量记录系统的研究具有广泛的实用价值和重要的理论意义。
2024/10/4 14:22:06 5.75MB STC单片机 DS18B20
1
共 310 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡