ZThread多執行緒庫學習筆記整理三

2021-06-10 09:43:15 字數 1228 閱讀 8609

對於該庫的學習和文件資料的整理,我個人把握的主線是以程式實踐作為基礎,在程式實踐的基礎上對相關的實現**進行學習,明確整個庫的基本架構層次,學習庫的架構設計和庫中涉及到的設計思想,以此來提高自己程式結構設計的能力和在**實現時的設計模式的運用技能。

為了方便對庫進行跟蹤與除錯,我決定在自己部署的zthread的解決方案中建立兩個工程,乙個是庫生成的工程,乙個是test工程,主要是為了測試zthread的庫,方便進行**跟蹤和分析。

具體的工程部署如下:

標頭檔案包含,因為test和zthread在同級目錄,所以需要這麼設定

庫包含目錄如下:

依賴庫的設定如下:

工程配置完成後,寫一段測試**試一下

#include

#include "zthread/thread.h"

#include "zthread/runnable.h"

using namespace zthread;

class arunnable : public runnable

};int main() catch(synchronization_exception& e)

std::cout << "hello from the main thread" << std::endl;

// output:

// hello from another thread

// hello from the main thread

return 0;}

**可以在thread.h的標頭檔案中找到,為了更好的看到輸出結果我在編譯庫的時候加入了ndebug巨集,沒有讓庫的跟蹤日誌輸出,輸出結果如下:(wait保證主線程讓子執行緒執行)

整個執行緒庫基本執行ok,後期繼續學習補充!

ZThread多執行緒庫學習筆記整理二

通過第一階段的工程部署,多執行緒管理庫zthread.lib和zthread.dll已經生成,不過為了更好的使用該庫和弄懂該庫的實現機制,我們可能需要生成該庫的幫助文件,在linux下,大家可以參考相關的makefile檔案,利用make工具即可很好的生成該doc目錄下的html格式的幫助文件,但是...

多執行緒學習筆記 執行緒

thread類 常用屬性 currentthread 獲取當前正在執行的執行緒 isalive 指示當前執行緒的執行狀態 isbackground 指示是否為後台執行緒 isthreadpoolthread 指示是否屬於託管執行緒池 managedthreadid 獲取執行緒識別符號 name 獲取...

多執行緒學習筆記

多執行緒的相關概念 什麼是程序?當乙個程式開始執行時,它就是乙個程序,程序包括執行中的程式和程式所使用到的記憶體和系統資源。而乙個程序又是由多個執行緒所組成的。什麼是執行緒?執行緒是程式中的乙個執行流,每個執行緒都有自己的專有暫存器 棧指標 程式計數器等 但 區是共享的,即不同的執行緒可以執行同樣的...