• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 47 下一页
2017年9月20日
第4章 同步控制 Synchronization ----同步机制的摘要
摘要: 同步机制摘要Critical Section Critical section(临界区)用来实现“排他性占有”。适用范围是单一进程的各线程之间。它是: 一个局部性对象,不是一个核心对象。 快速而有效率。 不能够同时有一个以上的 critical section 被等待。 无法侦测是否已被某个线程放弃 阅读全文
posted @ 2017-09-20 14:31 我是张洪铭我是熊博士 阅读(196) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ----Interlocked Variables
摘要: 同步机制的最简单类型是使用 interlocked 函数,对着标准的 32 位变量进行操作。这些函数并没有提供“等待”机能,它们只是保证对某个特定变量的存取操作是“一个一个接顺序来”。稍后我会把这些 interlocked 函数展示出来,因为唯有你自己亲身比较它们和其他同步机制的差异,才能够了解它们 阅读全文
posted @ 2017-09-20 14:23 我是张洪铭我是熊博士 阅读(287) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ----事件(Event Objects)
摘要: Win32 中最具弹性的同步机制就属 events 对象了。Event 对象是一种核心对象,它的唯一目的就是成为激发状态或未激发状态。这两种状态全由程序来控制,不会成为 Wait...() 函数的副作用。 Event 对象之所以有大用途,正是因为它们的状态完全在你掌控之下。Mutexes 和 sem 阅读全文
posted @ 2017-09-20 14:18 我是张洪铭我是熊博士 阅读(314) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ----信号量(Semaphore)
摘要: 许多文件中都会提到 semaphores(信号量),因为在电脑科学中它是最具历史的同步机制。它可以让你陷入理论的泥淖之中,教授们则喜欢问你一些有关于信号量的疑难杂 症。你可能不容易找到一些关于 semaphores 的有用例子,但是我告诉你,它是解决各种 producer/consumer 问题的关 阅读全文
posted @ 2017-09-20 12:00 我是张洪铭我是熊博士 阅读(451) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ----互斥器(Mutexes)
摘要: Win32 的 Mutex 用途和 critical section 非常类似,但是它牺牲速度以增加弹性。或许你已经猜到了,mutex 是 MUTual EXclusion 的缩写。一个时间内只能够有一个线程拥有 mutex,就好像同一时间内只能够有一个线程进入同一个 critical sectio 阅读全文
posted @ 2017-09-20 11:33 我是张洪铭我是熊博士 阅读(282) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ---哲学家进餐问题(The Dining Philosophers)
摘要: 哲学家进餐问题是这样子的:好几位哲学家围绕着餐桌坐,每一位哲学家要么思考,要么等待,要么就吃饭。为了吃饭,哲学家必须拿起两支筷子(分放于左右两端)。不幸的是,筷子的数量和哲学家相等,所以每支筷子必须由两位哲学家共享。图4-1 显现出这种状态。? FAQ 16:我如何避免死锁? 哲学家都是有点倔强的人 阅读全文
posted @ 2017-09-20 10:24 我是张洪铭我是熊博士 阅读(471) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ----死锁(DeadLock)
摘要: Jeffrey Richter 在他所主持的 Win32 Q&A 专栏(Microsoft Systems Journal,1996/07)中曾经提到过,Windows NT 和 Windows 95 在管理 dangling critical sections 时有极大的不同。在 Windows 阅读全文
posted @ 2017-09-20 10:18 我是张洪铭我是熊博士 阅读(267) 评论(0) 推荐(0)
第4章 同步控制 Synchronization ----critical section 互斥区 ,临界区
摘要: 本章讨论 Win32 同步机制,并特别把重点放在多任务环境的效率上。撰写多线程程序的一个最具挑战性的问题就是:如何让一个线程和另一个线程合作。除非你让它们同心协力,否则必然会出现如第2章所说的“raceconditions”(竞争条件)和“data corruption”(数据被破坏)的情况。 在典 阅读全文
posted @ 2017-09-20 09:59 我是张洪铭我是熊博士 阅读(243) 评论(0) 推荐(0)
2017年9月19日
MTVERIFY
摘要: MTVERIFY宏即适用于GUI程序也适用于console程序,这个宏内部其实是记录并解释了Win32 GetLastError()的结果。如果Win32函数失败,MTVERIFY()会打印出一段简短的文字说明,在多线程编程时检查错误效果尤为突出, 现在我写在这里,供大家参考 使用时注意在头文件中加 阅读全文
posted @ 2017-09-19 11:14 我是张洪铭我是熊博士 阅读(457) 评论(0) 推荐(0)
#define WIN32_LEAN_AND_MEAN
摘要: 不加载MFC所需的模块。用英语解释:Say no to MFC如果你的工程不使用MFC,就加上这句,这样一来在编译链接时,包括最后生成的一些供调试用的模块时,速度更快,容量更小。不过对于较大工程,MFC中的类还是非常有用的。我昨晚刚写了个2维引擎,需要加载PNG格式的图像;其中就用到了MFC中的CS 阅读全文
posted @ 2017-09-19 10:56 我是张洪铭我是熊博士 阅读(662) 评论(0) 推荐(0)
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 47 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3