CYYMysql 原始碼解讀 2

2021-06-20 14:15:22 字數 574 閱讀 8556

執行緒同步類

lock.h檔案和lock.cpp檔案實現比較簡單,使用的是臨界區,臨界區是使用者態的執行緒間切換消耗不是很大,而事件核心物件、訊號量、互斥量都是核心態的,呼叫的時候會切換到核心態,所以盡量使用臨界區來同步執行緒間操作。詳細資訊可以檢視windows核心程式設計,上面講解的很詳細。

#pragma once

//#include "windows.h"

namespace yymysql

; class cautolock

;}

cpp檔案實現:

#include "stdafx.h"

#include ".\lock.h"

namespace yymysql

clock::~clock(void)

void clock::lock()

void clock::unlock()

cautolock::cautolock(clock *t) }

cautolock::~cautolock() }

}

koa2 原始碼解讀

自從在簡歷上寫了使用過nodejs的koa框架起,我被面試官問起node和koa的次數呈指數 為了防止一問三不知的情況再次發生決心去閱讀原始碼。首先我們看下不使用koa和使用的區別 呼叫listen 函式,在listen函式中我們可以看到,開啟了乙個http服務並傳入了callback 函式 lis...

學習筆記 解讀CppUnit原始碼2

上次我詳細的剖析了與test.h相互關聯的 test類是cppunit的核心。test這個類相信看了上一章就知道,也就起到測試用例的作用,但是畢竟乙個類的功能有限,如何擴充test類的功能呢?下面裝飾者模式就登場了。testdecorator.h 這個類中儲存了乙份test的指標,這個類的count...

JUnit 4 8 原始碼解讀2

在junit 4.x的原始碼中,增加了org.junit這個大的package,入口也由junit.textui.testrunner換成了org.junit.runner.junitcore。1.在入口方法中,新建了乙個junitcore,呼叫了runmain方法。public static vo...