`
xly_971223
  • 浏览: 1276896 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

理解windows事件对象

阅读更多
windows多线程开发中常用到事件对象(Handle)
Handle实际上是同步对象的一种,跟java中的wait() notify()类似
举个例子说吧
两个线程 A B,A执行完后才能执行B
那么就可以采用Handle
伪代码如下
ThreadA
run{
   do something;
   SetEvent(handle);//A执行完了,通知线程B
}

ThreadB
run(){
   WaitForSingleObject(handle, INFINITE); //阻塞等待A完成
   do something;
   ResetEvent(handle);
}

Handle就跟开关类似,共两个状态‘开’‘关’
SetEvent(handle)是设置为true,也就是开
SetEvent(handle)后会触发WaitForSingleObject函数
0
2
分享到:
评论

相关推荐

    多线程事件对象通讯

    总之,多线程事件对象通讯是Windows编程中的重要概念,通过理解和掌握这一技术,开发者可以编写出更加高效和可靠的多线程程序。在这个例子中,`vc技术内幕11章`为我们提供了一个实用的实践平台,帮助我们深入理解...

    如何使用事件对象同步进程

    事件对象(Event Object)是Windows API提供的一种同步机制,常用于线程间通信和同步。本文将深入探讨如何利用事件对象来同步进程,帮助你理解和应用这一技术。 1. **事件对象基础** - 事件对象是一种信号量,它...

    windows笔记-【内核对象线程同步】事件内核对象[借鉴].pdf

    在Windows操作系统中,内核对象是系统用于进程和线程同步的重要工具,而事件内核对象是...正确理解和使用事件内核对象是进行高效并发编程的基础,尤其在处理复杂同步需求时,事件对象的特性使得线程间的协作更加有序。

    use_work_thread.rar_事件对象

    事件对象是Windows API中的一种同步机制,它允许一个或多个线程等待特定事件的发生,从而控制线程的执行顺序。 首先,我们需要理解事件对象的基本概念。在Windows系统中,事件对象是一种内核对象,可以有三种状态:...

    windows事件测试demo

    在Windows API中,事件是一个内核对象,可以处于已通知(Signaled)或未通知(Not Signaled)两种状态之一。线程可以通过等待某个事件来暂停其执行,直到事件被设置为已通知状态。事件有两种类型:手动重置事件...

    进程管理工具 可用来分析事件对象句柄

    事件对象句柄则是Windows操作系统中的一种同步机制,用于线程间的通信和资源协调。在本主题中,我们将深入探讨这两个概念以及如何使用特定的进程管理工具来分析事件对象句柄。 首先,我们来理解什么是进程。在...

    Windows应用程序开发入门到精通四:Windows窗体开发中的面向对象概念

    最后,我们将通过实际案例和练习,帮助你理解如何在Windows窗体开发中运用面向对象概念,包括如何设计类结构,编写构造函数,使用抽象和密封类,以及实现事件驱动编程等。通过学习本课程,你将具备开发高效、可维护...

    搜索Windows用户对象.rar

    在Windows操作系统中,用户对象是系统管理用户账户、权限和安全策略的核心组成部分。...通过理解并熟练掌握这些知识点,IT管理员可以有效地管理和保护Windows环境中的用户对象,确保系统的安全性和高效性。

    多任务编程---1 windows内核对象

    在探讨Windows多任务编程时,内核对象是一个核心概念,对于深入理解Windows操作系统的工作原理至关重要。本文将围绕这一主题展开,详细介绍Windows内核对象的基本概念、类型以及如何在实际编程中创建与使用这些对象...

    MFC两个线程中用事件内核对象通信

    1. **事件内核对象**:事件内核对象是Windows操作系统提供的一种同步机制,它可以处于已设置(Signaled)或未设置(Not Signaled)两种状态。当线程等待一个事件对象时,如果该事件对象处于已设置状态,线程会立即...

    windows编程和相应代码实现 多任务编程1_Windows内核对象

    在"程序.rar"和"Windows编程.rar"这两个文件中,可能包含了关于Windows内核对象的详细讲解、代码示例和实战练习,对于深入理解Windows编程和多任务处理的开发者来说,是宝贵的参考资料。通过学习这些内容,开发者...

    windowsnt 技术内幕

    怎样准备70-073考试 理解工作站与客户端 理解为什么要参加70-073测试 理解Windows NT体系结构 深入理解用户模式内核模式 Windows NT Executive简介 理解Windows NT内存模型的优点 理解中央管理的优点 登录到Windows ...

    商业编程-源码-Windows区对象(Bands)的创建与定制配套源代码.zip

    本压缩包包含的源代码将详细展示如何创建和定制Windows区对象,帮助开发者深入理解这一技术。 1. **区对象概述**:Windows区对象是基于COM(Component Object Model)组件,通过实现IExplorerBand接口来创建。这些...

    驱动对象和设备对象查看工具

    驱动对象和设备对象是Windows操作系统内核层的重要概念,它们是系统管理硬件设备以及与之交互的核心机制。本文将深入探讨这两个概念,并介绍一个用于查看这些对象的工具,帮助理解和诊断系统驱动及设备问题。 首先...

    windows的进程与线程

    Windows提供了一系列API函数来操作事件对象: - `CreateEvent`:创建一个事件对象,并返回对象句柄。 - `OpenEvent`:打开一个已存在的事件对象,并返回其句柄,以便后续操作。 - `SetEvent`:将指定事件对象设置为...

    Windows环境下的面向对象程序的执行过程分析.pdf

    ### Windows环境下面向对象程序的执行过程分析 在Windows操作系统环境下,面向对象编程(OOP)已成为软件开发的重要趋势。OOP技术的核心特征包括抽象、继承和封装,这些特性允许开发者将窗口对象的属性和行为封装在...

    自己做的理解委托事件

    委托和事件是.NET框架中非常重要的概念,它们在软件开发中起到了关键的...WindowsApplication5可能就是这样一个示例,通过实际编写和分析这个应用程序,我们可以更深入地理解委托和事件的工作原理及其在实践中的应用。

    实验二++Windows+xp进程的同步.pdf

    【Windows XP 进程同步】知识点详解 ...通过这个实验,学习者将深入理解Windows XP中线程同步的实现方式,以及如何有效地使用事件和互斥体对象来控制并发执行的线程,从而提高多线程程序的效率和安全性。

    C#事件理解代码,帮助初学者理解

    在编程世界中,C#是一种广泛使用的面向对象的语言,尤其在开发Windows应用程序和.NET框架中。事件是C#中一个非常关键的概念,它允许对象之间进行通信,而无需直接了解彼此。本文将深入探讨C#事件,以帮助初学者更好...

Global site tag (gtag.js) - Google Analytics