文档详情

多核试验.pdf

发布:2017-06-05约3.55万字共52页下载文档
文本预览下载声明
《多核程序设计》实验指导书 大连东软信息学院 目 录 实验一 :Windows*Threads多线程编程 - 2 - 模块一:基础练习 - 5 - 模块二:临界区实验 - 9 - 模块三:事件实验 - 12 - 模块四:信号量实验 - 16 - 实验二 :OpenMP多线程编程 - 21 - 模块一:基础练习 - 23 - 模块二:数值积分计算Pi值 - 26 - 模块三:Monte Carlo计算Pi值 - 28 - 实验三:多线程编程方法学 - 31 - 模块一: Intel VTune和Intel Thread Checker 的使用 - 32 - 模块二: 多线程编程综合练习 - 41 - 实验四 :多线程编程综合实验 - 49 - - 1 - 实验一 :Windows*Threads多线程编程 本实验分为四个模块;分别为基础练习,临界区实验,事件实验,信号量实 验。通过本次实验逐步熟悉和掌握 Win32 API 多线程编程的语法结构、基本思路 和方法。理解 API 之间的调用关系,参数的含义。 【实验学时】 8 学时 【实验目的】 掌握Microsoft Visual Studio 编写编译Win32 API多线程程序的方法。 掌握Win32 API编写多线程程序的语法。 掌握Win32 API编写多线程程序的思路。 掌握Win32 多线程API 的应用。 能解决简单的数据竞争。 【实验环境】 Windows XP 系统 Microsoft Visual Studio 2005 【相关知识】 内核对象的概念:由操作系统内核分配的,只能由内核访问的一个内存 块,用来供系统和应用程序使用和管理各种系统资源。 Windows 多线程 API 的基本管理 线程的创建: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId); - 2 - 线程的终止: VOID ExitThread(DWORD dwExitCode) BOOL CloseHandle (HANDLE hObject) 线程的挂起与恢复: DWORD SuspendThread(HANDLE hThread) DWORD ResumeThread(HANDLE hThread) 线程间的等待: DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds); DWORD WaitForMultipleObjects ( DWORD nCount, CONST HANDLE *lpHandles, BOOL fWaitAll, DWORD dwMilliseconds); 线程间的同步 与临界区相关的 API : void WIN
显示全部
相似文档