- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统原理》
实 验 教 案
(基于Windows2000/XP 平台)
讲授人: 谢士春
安排授课时间: 2011-2012 (一)
授课对象: 09 计算机科学与技术
实验项目列表
实验一 多线程的创建与撤销
实验二 线程的同步
实验三 线程的互斥
实验四 生产者 -消费者问题
实验五 进程通信
实验六 动态链接库的建立和调试
实验七 页面置换算法模拟
实验八 文件的三种传输模式及性能比较
实验九 磁盘的读写
附录部分(可扩充)
附录 1 读者-写者问题
附录 2 梨子苹果之 PV 操作
附录 3 命名管道编程规范
附录 4 DLL 编程规范
第 II 页
第 III 页
实验一 线程的创建与撤销
一、实验目的
通过本实验熟悉 Windows 系统提供的线程创建与撤销等 API 系统调用,掌握 Windows
系统环境下线程的创建与撤销方法。
二、实验内容
1. 熟悉开发环境 Visual C++ 6.0 ;
2. Windows 系统环境下线程的创建与撤销方法;
3. 编程 :在主线程中调用 CreateThread( ) 创建 1 个子线程, 并在子线程中显示类似 “Thread is
running ! 等字样。”
三、实验准备知识
相关的 API 函数的函数原型:
1. 线程创建函数 HANDLE CreateThread();
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes , // pointer to security attributes
DWORD dwStackSize , // initial thread stack size
LPTHREAD_START_ROUTINE lpStartAddress , // pointer to thread function
LPVOID lpParameter , // argument for new thread
DWORD dwCreationFlags , // creation flags
LPDWORD lpThreadId // pointer to receive thread ID
);
线程函数原型 DWORD WINAPI Thread1Proc( LPVOID lpParameter )
2. 线程撤销函数
VOID ExitThread(
DWORD dwExitCode // exit code for this thread
);
功能: 撤销一个线程。 该函数将终止线程的运行, 并导致操作系统清除该线程使用的所有操
作系统资源。但是, C + + 资源(如 C + + 类对象)将不被撤消。
说明:如果在主线程函数( main 函数)中调用 ExitThread ,那么应用程序的主线程将停止
运行。但是,如果进程中至少有一个线程还在运行,该进程将不会终止运行。
3. 线程终止函数
文档评论(0)