(颠簸喜悲幽若尽是无情人)

事件对象成员:  包含(使用计数、事件类型、事件状态)

事件类型:  人工重置的事件对象;得到通知时,等待的所有线程都变为可调度

          自动重置的事件对象;得到通知时,等待的线程中只有一个变为可调度

创建事件类型;  CreateEvent(默认安全性,事件类型,事件状态,事件对象名)返回句柄

事件对象状态设置:  设置为有信号:SetEvent(句柄)

           设置为无信号:ResetEvent(句柄),设置完成返回true

关键代码段:  初始化:  InitializeCriticalSection(返回对象指针存放)

        获取所有权:EnerCriticalSection()

        访问被保护对象

        释放所有权:LeaveCriticalSection()

        销毁:     DeleteCriticalSection()

三种线程同步方案比较:  互斥对象、事件对象、关键代码段

          互斥对象和事件对象都属于内核对象,该方法速度较慢,可以在多个进程中各个线程进行同步

          关键代码段的方式同步速度快,但容易进入死锁,因为无法设定超时值

          通常使用关键代码段,比较简单,可以在构造函数中初始化,在构析函数中销毁,值得注意的是访问后一定要释放、多临界对象使用注意死锁发生。

转载于:https://www.cnblogs.com/sepmaple/p/9443044.html

《VC++深入详解》学习笔记 第十六章 线程同步与异步套接字编程相关推荐

  1. VC++深入详解学习笔记

    VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Lesson4: 简单绘图 Lesso ...

  2. [go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册

    1.实现功能-完成用户登录 在redis手动添加测试用户,并画出示意图以及说明注意事项(后续通过程序注册用户) 如:输入用户名和密码,如果在redis中存在并正确,则登录,否则退出系统,并给出相应提示 ...

  3. 孙鑫MFC笔记之十四--多线程同步与异步套接字编程

    线程同步有三种方式: 1.      互斥对象涉及方法: HANDLE hMutex=CreateMutex(NULL,FALSE,NULL); //第二个参数为FALSE,将互斥对象声明为空闲状态 ...

  4. C++ Primer plus学习笔记-第十六章:string类和标准模板库

    第十六章:string类和标准模板库 前言:这一章已经相当靠近全书的后面部分了:这一章我们会深入探讨一些技术上的细节,比如string的具体构造函数,比如适用于string类的几个函数,比如我们还会介 ...

  5. [汇编学习笔记][第十六章直接定址表]

    第十六章 直接定址表 16.1 描述了单元长度的标号 格式 code segmenta db 1,2,3,4,5,6,7,8,b dw 0 功能 此时标号a,b 不仅代表了内存单元,还代表了内存长度 ...

  6. 深入立即Linux网络技术内幕学习笔记第十六章:桥接:Linux实现

    网桥设备抽象: 对Linux而言,网桥是虚拟设备,要想传输或接收数据,需要将真实设备绑定到虚拟网桥上. 上图中,有几点需要注意: LAN1和LAN2通过网桥连接在一起,子网都是一样的. 网桥连接到路由 ...

  7. TCP/IP详解 卷1:协议 学习笔记 第十六章 BOOTP:引导程序协议

    一个无盘系统在不知道自身IP地址情况下,进行系统引导时能通过RARP协议获取它的IP地址,使用RARP会有两个问题:(1)IP地址是返回的唯一结果:(2)RARP使用链路层广播,RARP请求不会被路由 ...

  8. VC++ 深入详解 学习笔记(5) -- 修改窗口样式续

    From: http://elton.iteye.com/blog/301503 之前说过, 修改窗口大小,窗口样式的方法. 这里说明一下修改窗口的图标,光标和背景的方法. 修改窗口大小,样式是在创建 ...

  9. 《Linux4.0设备驱动开发详解》笔记--第十二章:Linux设备驱动的软件架构思想

    待补充 转载于:https://www.cnblogs.com/zcjboke/p/5513130.html

最新文章

  1. 利用python中的gzip模块压缩和解压数据流和文件
  2. Sharding-JDBC(三)3.1.0版本实践
  3. python excel 模块 性能_【xlwings1】Python-Excel 模块哪家强
  4. 开源播放器 支持视频广告
  5. python遇到的问题
  6. 中国甲状腺功能减退药行业市场供需与战略研究报告
  7. 语法制导定义 SDD
  8. 进制转换 pdf_浏览器中的二进制以及相关转换
  9. c语言程序设计2020年版,2020年新版c语言程序设计题库.docx
  10. Hinduja Global Solutions借助OpManager一年节省300万美元
  11. Windows10中IE11浏览器的修复之路
  12. COPRA算法学习笔记
  13. linux内核无锁cas,无锁编程以及CAS
  14. Python爬虫 批量下载美桌网高清美女壁纸
  15. 关系数据理论详解(模式分解与四大范式)
  16. css动画无限循环转圈,css实现无限循环
  17. 无心剑中译泰戈尔《漂鸟集(1~10)》
  18. android apk上架流程,Android apk上架国内应用市场流程
  19. easyui treegrid实现的两种方式
  20. RFID图书馆藏书防盗安全门门禁系统的应用分析

热门文章

  1. P1830 轰炸III
  2. Map接口与学习系列(二)---LinkedHashMap
  3. SRM 627 D1L2GraphInversionsDFS查找指定长度的所有路径 Binary indexed tree (BIT)
  4. 特别推荐:开发者的10个最佳代码游乐场
  5. Linux下批量添加用户
  6. LeetCode 688. “马”在棋盘上的概率
  7. 室内声场计算机模拟的声线跟踪法和虚声源法,基于声线跟踪法的室外声场仿真.doc...
  8. mysql实际项目中使用多长时间_mysql - 存储过程在实际项目中用的多吗?
  9. 翁恺老师C语言学习笔记(十)指针_运算符取得变量的地址
  10. 课节6: 图神经网络进阶模型之 ERNIESage 上