《windows核心程式設計》讀後編碼 原子操作

2021-06-14 16:42:02 字數 798 閱讀 8376

// 多執行緒--原子操作(使用者模式下的同步操作).cpp : 定義控制台應用程式的入口點。

//vs2010上編譯通過

#include "stdafx.h"

#include

#include

#include

using namespace std;

volatile long g_ntatolcount; //宣告為volatile,在多執行緒中防止編譯器優化資料,將資料放到暫存器中,而是直接到記憶體中去讀寫,防止出現錯誤結果

const dword thread_count=10;

dword winapi childthreadfunc(lpvoid lplparam);

int _tmain(int argc, _tchar* argv)

waitformultipleobjects(thread_count, handle, true, infinite);  

cout<

} while (num--);

cout<

//說明:按道理,do/while迴圈總共執行個10次,每個迴圈裡都建立10個子執行緒去遞增g_ntatolcount,如果結果g_ntatolcount為100,則說明原子操作執行成功!

Windows核心程式設計

內容簡介 這是一本經典的windows核心程式設計指南,從第1版到第5版,引領著數十萬程式設計師走入windows開發陣營,培養了大批精英。作為windows開發人員的必備參考,本書是為打算理解windows的c和c 程式設計師精心設計的。第5版全面覆蓋windows xp,windows vist...

WINDOWS核心程式設計 核心物件

今天想把看的第三章的心得寫下來。這章主要介紹了核心物件。在windows中,核心物件是由作業系統來管理,儘管使用者能夠建立它,但是在建立之後,使用者對該核心物件的操作都是委託給作業系統。通常使用者建立和使用的物件分為 使用者物件 如 hicon createicon prama gdi物件函式以及核...

Windows核心程式設計 核心物件

每個核心物件只是核心分配的乙個記憶體塊,只能由核心訪問.該記憶體塊是一種資料結構,它的成員負責維護物件的各種資訊,由得物件型別相同,但大多數不同,比如程序物件有個程序id,乙個基本優先順序,乙個退出 檔案物件則有乙個位元組位移,乙個共享模式,乙個開啟模式 如果核心控制代碼傳遞給另外乙個程序,那麼這另...