多核实验报告.doc

多核实验报告.doc

ID:58664343

大小:960.00 KB

页数:31页

时间:2020-10-15

多核实验报告.doc_第1页
多核实验报告.doc_第2页
多核实验报告.doc_第3页
多核实验报告.doc_第4页
多核实验报告.doc_第5页
资源描述:

《多核实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告课程名称:多核多线程技术院(系):信息与控制工程学院专业班级:计算机科学与技术姓名:学号:指导教师:2012年11月21日实验一WindowsAPI多线程编程本实验分为四个模块;分别为基础练习,临界区实验,事件实验,信号量实验。通过本次实验逐步熟悉和掌握Win32API多线程编程的语法结构、基本思路和方法。理解API之间的调用关系,参数的含义。一、实验目的1、掌握MSVisualStudio2010编写编译Win32API多线程程序的方法;2、掌握Win32API编写多线程程序的语法;3、掌握Win

2、32API编写多线程程序的思路;4、掌握Win32多线程API的应用;5、能解决简单的数据竞争。二、实验环境1、WindowsXP系统2、MicrosoftVisualStudio2010三、相关知识1、内核对象的概念:由操作系统内核分配的,只能由内核访问的一个内存块,用来供系统和应用程序使用和管理各种系统资源。2、Windows多线程API的基本管理线程的创建:HANDLECreateThread(LPSECURITY_ATTRIBUTESlpThreadAttributes,DWORDdwStackSi

3、ze,LPTHREAD_START_ROUTINElpStartAddress,LPVOIDlpParameter,DWORDdwCreationFlags,LPDWORDlpThreadId);线程的终止:VOIDExitThread(DWORDdwExitCode)BOOLCloseHandle(HANDLEhObject)线程的挂起与恢复:DWORDSuspendThread(HANDLEhThread)DWORDResumeThread(HANDLEhThread)线程间的等待:DWORDWaitF

4、orSingleObject(HANDLEhHandle,DWORDdwMilliseconds);DWORDWaitForMultipleObjects(DWORDnCount,CONSTHANDLE*lpHandles,BOOLfWaitAll,DWORDdwMilliseconds);3、线程间的同步与临界区相关的API:voidWINAPIInitializeCriticalSection(LPCRITICAL_SECTIONlpCriticalSection);voidWINAPIEnterCri

5、ticalSection(LPCRITICAL_SECTIONlpCriticalSection);voidWINAPILeaveCriticalSection(LPCRITICAL_SECTIONlpCriticalSection);voidWINAPIDeleteCriticalSection(LPCRITICAL_SECTIONlpCriticalSection);与事件相关的API:HANDLECreateEvent(LPSECURITY_ATTRIBUTESlpEventAttributes,BO

6、OLbManualReset,BOOLbInitialState,LPCSTRlpName);DWORDWaitForSingleObject(HANDLEhHandle,DWORDdwMilliseconds);DWORDWaitForMultipleObjects(DWORDnCount,CONSTHANDLE*lpHandles,BOOLfWaitAll,DWORDdwMilliseconds);BOOLSetEvent(HANDLEevent);BOOLResetEvent(HANDLEevent)

7、;与信号量相关的API:HANDLECreateSemaphore(LPSECURITY_ATTRIBUTESlpEventAttributes,LONGlSemInitial,LONGlSemMax,LPCSTRlpSemName);DWORDWaitForSingleObject(HANDLEhHandle,DWORDdwMilliseconds);DWORDBOOLReleaseSemaphore(HANDLEhSemaphore,LONGcReleaseCount,LPLONGlpPreviousC

8、ount);四、实验原理线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完后再执行。在多核的机器上,调度程序可将多个线程放到不同的处理器核上去运行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。