windows程序设计(第2版 王艳平)学习记要:3.2 线程同步
生活随笔
收集整理的這篇文章主要介紹了
windows程序设计(第2版 王艳平)学习记要:3.2 线程同步
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
線程同步的主要問題,在于需要解決不止一個線程同時執行某一段代碼,訪問同一個內存中的數據,臨界區對象就是為了解決這個問題,它是一個CRITICAL_SECYION結構,被windows內部使用這個結構記錄一些信息,確保同一時間只有一個線程訪問該數據段中的數據
臨界對象的代碼示例
互鎖函數
互鎖函數的遠離比較簡單,基本規則是,它自增或者自減變量時,阻止其它線程同時使用該變量
事件內核對象
這東西主要用于線程之間互相通信,告知工作狀態和控制信號。比如事件對象就是用于這個范疇的
事件對象由CreatEvent創建
信號量內核對象
信號量允許超過一個以上的線程同時訪問一個資源,但是他有線程數量上限的限制
互斥內核對象
這玩意和臨界區對象最大的不同是它是內核對象,由系統管理,它可以跨越進程,臨界區不行,臨界區性能高資源占用少,互斥對象性能低,資源消耗大
http://blogold.chinaunix.net/u2/86649/showart.php?id=1672176
3.2.6 線程局部存儲
英文名稱TLS,和線程關聯的數據結構,可以利用其獲取線程的生命周期,不過老實說還是不太清楚這樣做的特殊意義,以后遇上了,再說吧
總結
以上是生活随笔為你收集整理的windows程序设计(第2版 王艳平)学习记要:3.2 线程同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【ISIS基础】
- 下一篇: java信息管理系统总结_java实现科