亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readwritelock.c

?? 《多任務下的數據結構》隨書的源代碼。探討多任務下的常用數據結構的實現
?? C
字號:
/*
 * Copyright (c) 2000-2008
 * Author: Weiming Zhou
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  
 */

#include <windows.h>
#include <stdio.h>
#include "CapiGlobal.h"


typedef struct RWLOCK_st {
    LOCK    ReadLock;     /* 讀操作鎖,主要用來保護計數器變量的讀寫 */
    LOCK    WriteLock;    /* 寫操作鎖 */
    UINT    uReadCount;   /* 正在進行的讀操作的數量 */
} RWLOCK;

/**	讀寫鎖的創建函數,負責創建一個讀寫鎖對象	
	@return	RWLOCK * - RWLOCK指針,失敗返回NULL	
*/
RWLOCK *RWLock_Create(void)
{
    RWLOCK  *pRWLock;
    pRWLock = (RWLOCK *)malloc(sizeof(RWLOCK));
    if ( pRWLock != NULL )
    {
        pRWLock->ReadLock = LockCreate();
        if ( pRWLock->ReadLock != NULL )
        {
            pRWLock->WriteLock = LockCreate();
            pRWLock->uReadCount = 0;
        }
        else
        {
            free(pRWLock);
            pRWLock = NULL;
        }
    }
    return pRWLock;
}

/**	釋放一個RWLOCK對象

	@param	RWLOCK *pRWLock - 讀寫鎖對象指針	
	@return	void - 無	
*/
void RWLock_Destroy(RWLOCK *pRWLock)
{
    if ( pRWLock != NULL )
    {
        LockClose(pRWLock->ReadLock);
        LockClose(pRWLock->WriteLock);
        free(pRWLock);
    }
}

/**	讀寫鎖的讀操作鎖函數,有讀操作時需要調用這個函數進行讀操作保護

	@param	RWLOCK *pRWLock - 讀寫鎖對象指針	
	@return	void - 無	
*/
void RWLock_LockRead(RWLOCK *pRWLock)
{
    Lock(pRWLock->ReadLock);
    
    pRWLock->uReadCount += 1;

    if ( pRWLock->uReadCount == 1 )
    {
        /* 當是第1個讀者的時候,需要將寫鎖鎖上防止寫操作 */
        Lock(pRWLock->WriteLock);
    }

    Unlock(pRWLock->ReadLock);
}

/**	讀寫鎖的讀操作解鎖函數,需要和RWLock_LockRead()函數配對使用

	@param	RWLOCK *pRWLock - 讀寫鎖對象指針	
	@return	void - 無	
*/
void RWLock_UnlockRead(RWLOCK *pRWLock)
{
    Lock(pRWLock->ReadLock);
    
    pRWLock->uReadCount -= 1;
    
    if ( pRWLock->uReadCount == 0 )
    {
        /* 當沒有讀者的時候,需要將些鎖釋放以便于其他任務可以進行寫操作 */
        Unlock(pRWLock->WriteLock);
    }
    
    Unlock(pRWLock->ReadLock);
}

/**	讀寫鎖的寫操作鎖函數,寫操作發生前需要先調用這個函數進行寫操作保護 

	@param	RWLOCK *pRWLock - 讀寫鎖對象指針	
	@return	void - 無	
*/
void RWLock_LockWrite(RWLOCK *pRWLock)
{
    Lock(pRWLock->WriteLock);
}

/**	讀寫鎖的寫操作解鎖函數,需要和RWLock_LockWrite()函數配對使用 

	@param	RWLOCK *pRWLock - 讀寫鎖對象指針	
	@return	void - 無	
*/
void RWLock_UnlockWrite(RWLOCK *pRWLock)
{
    Unlock(pRWLock->WriteLock);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色呦呦国产精品| 成人污视频在线观看| 久久婷婷国产综合精品青草| av日韩在线网站| 亚洲成av人片在线观看| 国产欧美精品一区二区色综合| 色综合av在线| 国产成人三级在线观看| 午夜精品久久久久久久99水蜜桃| 亚洲国产成人一区二区三区| 欧美日韩一本到| 一本到不卡精品视频在线观看| 国产在线一区观看| 亚洲va中文字幕| 亚洲日本在线天堂| 国产日本欧美一区二区| 日韩一级在线观看| 欧美日韩一区二区在线观看 | 久久人人超碰精品| 欧美三级电影在线观看| jlzzjlzz亚洲女人18| 国产一区二区免费在线| 日本不卡一区二区三区高清视频| 亚洲精品视频自拍| 国产精品日日摸夜夜摸av| 欧美一卡二卡在线观看| 欧美性受极品xxxx喷水| 99麻豆久久久国产精品免费| 国产精品888| 久久精品国产久精国产| 日韩精品欧美成人高清一区二区| 亚洲精品伦理在线| 亚洲天堂免费看| 日本一区二区三区免费乱视频| 精品人在线二区三区| 日韩午夜av电影| 日韩欧美一二区| 91精品福利在线一区二区三区| 欧美天堂亚洲电影院在线播放| 亚洲色图一区二区| 中文字幕欧美日韩一区| 国产欧美日韩综合| 亚洲国产精品v| 国产精品免费看片| 国产精品久久久久一区二区三区| 久久久国产一区二区三区四区小说 | 欧美影院精品一区| 欧美午夜精品理论片a级按摩| 欧美综合亚洲图片综合区| 91久久精品一区二区| 日本韩国欧美在线| 欧美影院一区二区| 欧美一区二区三区白人| 欧美大白屁股肥臀xxxxxx| 日韩亚洲欧美在线| 精品第一国产综合精品aⅴ| 精品国产乱码久久久久久久久 | 99麻豆久久久国产精品免费优播| 日韩高清一级片| 亚洲免费av高清| 亚洲网友自拍偷拍| 三级影片在线观看欧美日韩一区二区| 午夜欧美大尺度福利影院在线看| 亚洲不卡在线观看| 激情文学综合插| av一区二区不卡| 欧美美女一区二区三区| 久久免费美女视频| 最好看的中文字幕久久| 午夜精品福利视频网站| 国产麻豆日韩欧美久久| 国产91在线|亚洲| 色八戒一区二区三区| 欧美精品第1页| 337p日本欧洲亚洲大胆色噜噜| 国产精品全国免费观看高清| 亚洲男同1069视频| 免费观看日韩av| 成人一区二区三区| 欧美日韩国产综合一区二区| 精品成人免费观看| 亚洲免费在线看| 麻豆精品一区二区综合av| 成人爱爱电影网址| 欧美疯狂性受xxxxx喷水图片| 久久久影院官网| 亚洲一区二区高清| 国产成人无遮挡在线视频| 欧美日韩精品三区| 国产精品你懂的在线| 国产传媒欧美日韩成人| 中国av一区二区三区| 一区二区三区精品在线| 美日韩一级片在线观看| 99re免费视频精品全部| 欧美一区二区三区视频| 一色屋精品亚洲香蕉网站| 日韩电影在线看| 99国产精品视频免费观看| 日韩欧美综合在线| 一区二区三区在线视频播放| 国产精品综合视频| 91精品国产综合久久久久| 久久免费视频色| 日本不卡123| 色婷婷久久久综合中文字幕| 久久婷婷色综合| 青青草国产精品亚洲专区无| 色天天综合色天天久久| 久久精品人人爽人人爽| 美女诱惑一区二区| 欧美日韩亚洲丝袜制服| 欧美激情一区二区三区不卡 | 亚洲成人av免费| 一本色道综合亚洲| 中文字幕精品一区二区精品绿巨人| 偷拍日韩校园综合在线| 91激情在线视频| 日韩毛片精品高清免费| 国产成人精品三级麻豆| 久久综合五月天婷婷伊人| 日韩主播视频在线| 欧美日韩在线免费视频| 亚洲蜜臀av乱码久久精品| 成人高清免费观看| 久久精品一二三| 黄色日韩三级电影| 日韩精品一区二区三区中文精品| 婷婷亚洲久悠悠色悠在线播放| 欧美亚洲一区三区| 亚洲电影视频在线| 欧美日韩久久不卡| 午夜精品影院在线观看| 欧美日韩另类一区| 天天亚洲美女在线视频| 欧美日韩精品一区二区三区四区 | 在线观看视频一区二区欧美日韩| 18欧美亚洲精品| 99在线精品一区二区三区| 亚洲天堂2016| 久久久久久久久久久黄色| 欧美色视频在线观看| 亚洲二区视频在线| 777奇米成人网| 亚洲成人高清在线| 91.com视频| 麻豆久久一区二区| 久久久久久久久岛国免费| 懂色av一区二区三区免费看| 中文字幕av一区二区三区高| 成人午夜在线免费| 1000精品久久久久久久久| 不卡一二三区首页| 一区二区三区久久久| 欧美日韩精品一区二区在线播放| 丝瓜av网站精品一区二区| 欧美一级理论片| 国产曰批免费观看久久久| 亚洲国产精品成人久久综合一区| 92国产精品观看| 爽爽淫人综合网网站 | 成人免费小视频| 欧美性欧美巨大黑白大战| 图片区日韩欧美亚洲| 26uuu国产日韩综合| 不卡视频在线观看| 石原莉奈在线亚洲三区| 久久精品在这里| 色天天综合色天天久久| 热久久久久久久| 国产精品久久久久久久久免费桃花| 97精品国产露脸对白| 爽爽淫人综合网网站| 久久久久综合网| 日本久久一区二区三区| 久久99精品国产| 亚洲精品日韩一| 日韩欧美一区二区久久婷婷| 亚洲一区二区高清| 91精品1区2区| 韩国av一区二区三区四区| 国产精品久久久久久久久晋中 | 色一情一伦一子一伦一区| 水蜜桃久久夜色精品一区的特点| 久久久久99精品国产片| 欧美亚洲高清一区| 国产aⅴ精品一区二区三区色成熟| 亚洲色图丝袜美腿| 精品av综合导航| 欧美色图一区二区三区| 国产精品99久久久久久久vr| 亚洲小少妇裸体bbw| 国产女人aaa级久久久级 | 国产精品亚洲人在线观看| 亚洲黄色在线视频| 久久久91精品国产一区二区三区| 欧美午夜宅男影院| 成人福利在线看| 国内外精品视频| 日韩高清中文字幕一区|