1 / 45
文档名称:

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

格式:doc   页数:45
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:799474576 2013/7/17 文件大小:0 KB

下载得到文件列表

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

文档介绍

文档介绍:绪论 1
1
2
、发展历程及前景 2
2
3
1 本文的工作和任务 8
2 系统的总体设计 9
系统模块分析 9
系统设计思想 10
3 基本介绍 10
10
10
11
11
: 13
MFC多线程编程 13
4 关键技术 15
15
18
5 系统的实现 19
19
控制模块设计 19
19
6 系统测试 20
附录 29
绪论

随着计算机硬件技术的迅速发展和现代社会对信息速度要求的提高,系统设计师们面临着在丰富系统功能和提高性能的同时,降低系统成本和功耗的问题。面对来自市场的压力,系统供应商希望能够持续增加系统的处理能力;处理器厂商希望提供具有更强处理能力的CPU。如何在这种情况下提高处理器的总体处理能力是一个积蓄解决的问题。
提高处理器性能的通常办法是提高主频,但这样做会增加处理器的功耗和设计的复杂度,搞频率所带来的高热量会导致芯片运行不稳定,且处理器发展到今天,主频的提升空间已经不大。
多线程技术成为提高计算机的系统性能的主要方案。实施嵌入式领域的迅速发展,对多线程要求越来越高。现在基于WEB的很多应用都要求多线程同步进行;尤其是对于网网络和服务器方面,对于I/O的处理能力有很高的要求,如高端安全gateway、VPN、IPSec扽好,需要大量的线程同步技术。这些领域对性能要求的增长速度远非单个CPU处理能力所力及的。所有这些都要求处理器朝着多核多线程的同步技术的方向发展。在嵌入式领域,多线程同步技术应用对于提高各种多媒体、网络及通信产品的性能和可扩展性独有重要的意义。本文在这里通过多线程技术和双缓存技术实现一个实时录音、实时回放的系统,同时兼容了录音到文件、从文件播放的功能。

随着科技技术的不断发现,网络越来越发达、方便,网民数量越来越多,除了电脑用户外,手机网民的数量在急剧增长,因此相应的需求也越来越多。通过多线程可以使CPU的能力越来越高,电脑或者手机的应用程序的资源的利用情况都可以得到改善,因为其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决
。这使得多线程技术在未来是热门技术和话题。
、发展历程及前景

在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候,那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法,但编出的程序很难移植,由此造成了另一类的代价高昂问题。中断对那些实时性很强的任务来说是很有必要的。但对于其他许多问题,只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器。程序在逻辑意义上被分割为数个线程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。根据前面的论述,大家可能感觉线程处理非常简单。但必须注意一个问题:共享资源!如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到一个问题。举个例子来说,两个线程不能将信息同时发送给一台打印机。为解决这个问题,对那些可共享的资源来说(比如打印机),它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定,在完成了它的任务后,再解开(释放)这个锁,使其他线程可以接着使用同样的资源。多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。
每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个