操作系统原理教学课件作者周苏实验4并发与调度课件.docVIP

  • 158
  • 0
  • 约2.71万字
  • 约 32页
  • 2016-12-30 发布于未知
  • 举报

操作系统原理教学课件作者周苏实验4并发与调度课件.doc

4.1 Windows XP线程同步 4.1.1 Windows XP的线程同步 Windows XP提供的常用对象可分成3类:核心应用服务、线程同步和线程间通讯。其中,开发人员可以使用线程同步对象来协调线程和进程的工作,以使其共享信息并执行任务。此类对象包括互锁数据、临界段、事件、互斥体和信号等。 多线程编程中关键的一步是保护所有的共享资源,工具主要有互锁函数、临界段和互斥体等;另一个实质性部分是协调线程使其完成应用程序的任务,为此,可利用内核中的事件对象和信号。 在进程内或进程间实现线程同步的最方便的方法是使用事件对象,这一组内核对象允许一个线程对其受信状态进行直接控制 (见表4.1) 。 而互斥体则是另一个可命名且安全的内核对象,其主要目的是引导对共享资源的访问。拥有单一访问资源的线程创建互斥体,所有想要访问该资源的线程应该在实际执行操作之前获得互斥体,而在访问结束时立即释放互斥体,以允许下一个等待线程获得互斥体,然后接着进行下去。 与事件对象类似,互斥体容易创建、打开、使用并清除。利用CreateMutex() API可创建互斥体,创建时还可以指定一个初始的拥有权标志,通过使用这个标志,只有当线程完成了资源的所有的初始化工作时,才允许创建线程释放互斥体。 表4.1 用于管理事件对象的API API名称 描述 CreateEvent() 在内核中创

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档