毕业设计(论文)《多线程同步双缓冲技术的研究与实现》.doc

毕业设计(论文)《多线程同步双缓冲技术的研究与实现》.doc

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南昌航空大学学士学位论文 PAGE PAGE 2 TOC \o 1-3 \h \z \u 绪论 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处理能力所力及的。所有这些都要求处理器朝着多核多线程的同步技术的方向发展。在嵌入式领域,多线程同步技术应用对于提高各种多媒体、网络及通信产品的性能和可扩展性独有重要的意义。本文在这里通过多线程技术和双缓存技术实现一个实时录音、实时回放的系统,同时兼容了录音到文件、从文件播放的功能。 1.2课题研究的意义 随着科技技术的不断发现,网络越来越发达、方便,网民数量越来越多,除了电脑用户外,手机网民的数量在急剧增长,因此相应的需求也越来越多。通过多线程可以使CPU的能力越来越高,电脑或者手机的应用程序的资源的利用情况都可以得到改善,因为其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。这使得多线程技术在未来是热门技术和话题。 1.3多线程技术的概述、发展历程及前景 1.3.1多线程的概述 在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候,那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法,但编出的程序很难移植,由此造成了另一类的代价高昂问题。中断对那些实时性很强的任务来说是很有必要的。但对于其他许多问题,只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器。程序在逻辑意义上被分割为数个线程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。根据前面的论述,大家可能感觉线程处理非常简单。但必须注意一个问题:共享资源!如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到一个问题。举个例子来说,两个线程不能将信息同时发送给一台打印机。为解决这个问题,对那些可共享的资源来说(比如打印机),它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定,在完成了它的任务后,再解开(释放)这个锁,使其他线程可以接着使用同样的资源。   多线程是为了同步完成多项任务,不

文档评论(0)

老刘忙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档