多线程同步双缓冲技术的研究和实现毕业论文(修).doc

多线程同步双缓冲技术的研究和实现毕业论文(修).doc

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
绪论 1 1.1课题背景 1 1.2课题研究的意义 2 1.3多线程技术的概述、发展历程及前景 2 1.3.1多线程的概述 2 1.3.2多线程的发展及展望 3 1 本文的工作和任务 8 2 系统的总体设计 9 2.1 系统模块分析 9 2.2 系统设计思想 10 3 基本介绍 10 3.1声音采集 10 3.2采样的位数 10 3.3采样的频率 11 3.4系统的相关函数 11 3.5实时录音播放程序流程: 13 3.6 MFC多线程编程 13 4 关键技术 15 4.1多线程同步技术 15 4.2双缓存技术 18 5 系统的实现 19 5.1系统的结构 19 5.2 控制模块设计 19 5.3系统实现的框图 19 6 系统测试 20 附录 29 绪论 1.1课题背景 随着计算机硬件技术的迅速发展和现代社会对信息速度要求的提高,系统设计师们面临着在丰富系统功能和提高性能的同时,降低系统成本和功耗的问题。面对来自市场的压力,系统供应商希望能够持续增加系统的处理能力;处理器厂商希望提供具有更强处理能力的CPU。如何在这种情况下提高处理器的总体处理能力是一个积蓄解决的问题。 提高处理器性能的通常办法是提高主频,但这样做会增加处理器的功耗和设计的复杂度,搞频率所带来的高热量会导致芯片运行不稳定,且处理器发展到今天,主频的提升空间已经不大。 多线程技术成为提高计算机的系统性能的主要方案。实施嵌入式领域的迅速发展,对多线程要求越来越高。现在基于WEB的很多应用都要求多线程同步进行;尤其是对于网网络和服务器方面,对于I/O的处理能力有很高的要求,如高端安全gateway、VPN、IPSec扽好,需要大量的线程同步技术。这些领域对性能要求的增长速度远非单个CPU处理能力所力及的。所有这些都要求处理器朝着多核多线程的同步技术的方向发展。在嵌入式领域,多线程同步技术应用对于提高各种多媒体、网络及通信产品的性能和可扩展性独有重要的意义。本文在这里实现一个实时录音、实时回放的系统,同时兼容了录音到文件、从文件播放的功能。其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决在PC的早期,有人曾经提倡未来应该朝多任务的方向前进,但是大多数的人还是很迷惑:在一个单使用者的个人计算机上,多任务有什么用呢?好了,最后事实表示即使是不知道这一概念的使用者也都需要多任务的。 1 Dos下的多任务 在最初PC上的Intel 8088微处理器并不是为多任务而设计的,部分原因是内存管理不够强。当启动和结束多个程序时,多任务的操作系统通常需要移动内存块以收集空闲内存。在8088上是不可能透明于应用系统来做到这一点的。 DOS本身对多任务没有太大的帮助,它的设计目的是尽可能小巧,并且与独立于应用程序之外,因此,除了加载程序以及对程序提供文件系统的存取功能,它几乎没有提供任何支持。 不过,有创意的程序写作者仍然在DOS的早期就找到了一种克服这些缺陷的方法,大多数是使用常驻(TSR:terminate-and-stay-resident)程序。有些TSR,比如背景打印队列程序等,透过拦截硬件时钟中断来执行真正的背景处理。其它的TSR,诸如SideKick等弹出式工具,可以执行某种型态的工作切换-暂停目前的应用程序,执行弹出式工具。DOS也逐渐有所增强以便提供对TSR的支持。 一些软件厂商试图在DOS之上架构出工作切换或者多任务的外壳程序(shell)(诸如Quarterdeck的DesqView),但是在这些环境中,仅有其中一个占据了大部分市场,当然,这就是Windows。 2 非优先权式的多任务当Microsoft在1985年发表Windows 1.0时,它是最成熟的解决方案,目的是突破DOS的局限。Windows在实际模式下执行。但是即使这样,它已可以在物理内存中移动内存块。这是多任务的前提,虽然移动的方法尚未完全透明于应用程序,但是几乎可以忍受了。 在图形窗口环境中,多任务比在一种命令列单使用者操作系统中显得更有意义。例如,在传统的命令列UNIX中,可以在命令列之外执行程序,让它们在背景执行。然而,程序的所有显示输出必须被重新转向到一个文件中,否则输出将和使用者正在做的事情混在一起。 窗口环境允许多个程序在相同屏幕上一起执行,前后切换非常容易,并且还可以快速地将数据从一个程序移动到另一个程序中。例如,将绘图程序中建立的图片嵌入由文书处理程序编辑的文本文件中。在Windows中,以

文档评论(0)

liyxi26 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档