文档详情

操作系统原理实验 线程的创建与撤销1.pdf

发布:2024-05-09约2.52千字共4页下载文档
文本预览下载声明

-1-

上海电力学院

计算机操作系统原理

实验报告

题目:线程的同步

院系:计算机学院

专业年级:信息安全2010级

学生姓名:李鑫学号:

同组姓名:无

2012年10月17日

上海电力学院

-2-

实验报告

课程名称计算机操作系统原理实验项目线程的创建与撤销

姓名李鑫学号班级2010251班专业信息安全

同组人姓名无指导教师姓名徐曼实验日期2012/10/17

实验目的和要求:

1、进一步掌握Windows系统环境下线程创建与撤销。

2、熟悉Windows系统提供的线程同步API。

3、使用Windows系统提供的线程同步API解决实际问题。

实验原理与内容

完成主、子两个线程之间的同步,要求子线程先运行。在线程中使用系统调

用CreateThread()创建一个子线程。主线程创建子线程后进入阻塞状态,直

到子线程运行完毕后唤醒主线程。

实验平台与要求

操作系统:Windows2000或WindowsXP

实验平台:VisualStudioC++6.0

实验步骤与记录

1、启动安装好的VisualC++6.0。

2、选择File-New,新建Win32ConsoleApplication控制台程序。

3、由于CreateThread()等函数是MicrosoftWindows操作系统的系统调用,因此选择An

applicationthatsupportsMFC,之后单击Finish按钮。

4、打开编辑环境后,编辑程序,并且编译、链接并运行该程序。

5、

6、

实验分析与结论

在Windows系统中,进程是资源的拥有者,线程是系统调度的单位。进程创建后,其主

-3-

线程也随即被创建。通过调用CreateThread()函数懂得了如何创建线程,而主main程序

是我们的主进程,函数ThreadName1()是我们的线程函数。通过调用线程函数,我们输出

了想要的语句。

主要源代码:

//函数和变量声明

voidThreadName1();

staticHANDLEhHandle1=NULL;

DWORDdwThreadID1;

//创建线程

hHandle1=CreateThread((LPSECURITY_ATTRIBUTES)NULL,

0,

(LPTHREAD_START_ROUTINE)ThreadName1,

(LPVOID)NULL,

0,

dwThreadID1);

Sleep(5000);

CloseHandle(hHandle1);

ExitThread(0);

//线程函数

voidThreadName1()

{

}

实验展望

1、如果想要传递参数,要通过CreateThread()函数的LPVOIDlpParameter

参数来传递,一个参数可以直接指定给lpParameter,而多个参数可以指

定一个指针给lpParameter

显示全部
相似文档