国产女人18毛片水真多18精品, 一区二区三区中文字-亚洲精品女国产, 欧美熟妇老熟妇88888久久久久, 一级毛片免费观看亚洲欧美国产精品,大波霸美女视频,日韩欧美激情V影院,熟女人伦21p,亚洲精品女国产,国产 乱子伦 在线

windows操作系統(tǒng)的同步機制與性能

時間:2025-12-02 09:14:53 操作系統(tǒng)

windows操作系統(tǒng)的同步機制與性能

  windows操作系統(tǒng)的同步機制與性能

  最近看了下windows核心編程,雖然是比較老的書,但是感覺還是蠻有用的,順便復(fù)習(xí)了一些操作系統(tǒng)的知識,比如本文的進程同步機制

  用戶模式下的線程同步

  線程之間需要通信:

  1.需要讓多個線程同時訪問一個共享資源,同時不能破壞資源的.完整性

  2.一個線程需要通知其他線程某項任務(wù)已經(jīng)完成

  方法一:原子訪問:Interlocked系列函數(shù)

  InterlockedExchangeAdd(long & ,int );

  InterlockedIncrement;

  InterlockedExchange;(實現(xiàn)旋轉(zhuǎn)鎖是有用)

  必須保證傳給這些函數(shù)的變量地址是對齊的,否則函數(shù)可能失敗

  interlockde函數(shù)不需要在內(nèi)核模式與用戶模式之間切換

  旋轉(zhuǎn)鎖:禁用線程優(yōu)先級提升

  多處理器的機器旋轉(zhuǎn)鎖比較有用,

  關(guān)鍵段:先循環(huán)一定次數(shù),如果還是無法訪問,線程切換至內(nèi)核模式,直到資源可用

  interlockedcompareexchange

  方法二:關(guān)鍵段

  CRITICAL_SECTION g_cs;

  EnterCriticalSection(&g_cs)

  …

  LeaveCrititalSection(&g_cs)

  關(guān)鍵段無法在多個進程之間對線程同步

  方法三:Slim讀/寫鎖

  和關(guān)鍵段相似,但是區(qū)分讀取線程和寫入線程

  SRWLOCK

  用內(nèi)核對象進行線程同步

  在進程內(nèi)核對象內(nèi)部有一個布爾變量,當(dāng)系統(tǒng)創(chuàng)建內(nèi)核對象的時候會把這個變量的值初始化為false(未觸發(fā)),當(dāng)進程終止時,操作系統(tǒng)會把相應(yīng)的內(nèi)核對象中的值設(shè)置為true,表示已經(jīng)觸發(fā)。

  等待函數(shù):WaitForSingleObject(HANDLE,DWORD)

  WaitForMultipleObjects(DWORD,CONST HANDLE* ,BOOL,DWORD)

  事件內(nèi)核對象

  讓一個線程執(zhí)行初始化工作,然后出發(fā)另一個線程,讓它執(zhí)行余下的工作

  createEvent()

  OpenEvent()

  SetEvent()/pic/p>

  ResetEvetn()

  可等待的計數(shù)器內(nèi)核對象

  createWaitableTimer()

  OpenwaitableTimer()

  SetWaitableTimer()/pic/p>

  信號量

  互斥量

【windows操作系統(tǒng)的同步機制與性能】相關(guān)文章:

Windows XP操作系統(tǒng)內(nèi)存性能優(yōu)化11-20

Windows操作系統(tǒng)的特點02-09

什么是windows操作系統(tǒng)10-30

什么是windows操作系統(tǒng)12-17

Windows 7操作系統(tǒng)技巧01-19

Windows 7 操作系統(tǒng)技巧03-14

windows操作系統(tǒng)快速關(guān)機02-02

Mac與Windows操作系統(tǒng)的區(qū)別09-07

WINDOWS操作系統(tǒng)的進程描述03-08