实验一、 Window s 多线程编程基础 一、实验目的 1、掌握 MS Visual Studio 集成开发环境的使用与配置; 2、掌握利用 Windows API 函数进行多线程编程; 3、掌握利用 MS Visual C++ MFC 类库进行多线程编程; 4、掌握利用 MS Visual Studio 集成开发环境编写、调试和运行 Windows 多线程程序
二、实验原理 线程是进程的一条执行路径,它包含独立的堆栈和 CPU 寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等
一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程
线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完后再执行
在多核的机器上,调度程序可将多个线程放到不同的处理器核上去运行,这样可使处理器任务平衡,并提高系统的运行效率
Windows 是一种多任务的操作系统,在 Windows 的一个进程内包含一个或多个线程
32 位 Windows 环境下的 Win32 API 提供了多线程应用程序开发所需要的接口函数,而利用 VC 中提供的标准 C 库也可以开发多线程应用程序,相应的 MFC 类库封装了多线程编程的类,用户在开发时可根据应用程序的需要和特点选择相应的工具
多线程编程在 Win32 方式下和 MFC 类库支持下的原理是一致的,进程的主线程在任何需要的时候都可以创建新的线程
当线程执行完后,自动终止线程;当进程结束后,所有的线程都终止
所有活动的线程共享进程的资源,因此,在编程时需要考虑在多个线程访问同一资源时产生冲突的问题
当一个线程正在访问某进程对象,而另一个线程要改变该对象,就可能会产生错误的结果,编程时要解决这个冲突
三、实验内容及步骤 1、按照“附录一”中的要求