C 多執行緒的簡單方法

2021-08-29 18:51:40 字數 679 閱讀 3901

1,使用std::atomic定義,可以變數在進行簡單的運算中保持原子性!

std::atomic_int a;

std::atomica;

2,使用臨界區mutex,可以對一段**加鎖

std::mutex m_mutex;

m_mutex.lock()

m_mutex.unlock()

問題:如果出現異常,可能沒有進行解鎖;加鎖解鎖複雜。

3,自定義鎖

class lock 

~lock()

private:

std::mutex& mutex;

};/*使用*/

void addcount()

在結束祈構時自動解鎖

同3問題:需要對同乙個mutex加鎖;在對同乙個物件操作時,可以在該物件中新增乙個mutex物件。對於多個物件,則出現問題。

4,c++自帶,在函式開頭使用

std::lock_guardlock(m_mutex)
5,多物件操作,如果自己編寫的話,主要是保持加鎖的順序一致,比如利用位址進行加鎖排序。

void addcount(a,b)

}

JAVA多執行緒的簡單方法應用

通過繼承thread實現多執行緒 用法 firstthread類繼承thread類 繼承乙個thread類 class firstthread extends thread test類測試結果 public class test 通過實現runnable介面實現多執行緒 用法 mrunnable類實...

python unittest簡單方法

下面一步步的展示如何使用unittest來測試。1 匯入unitttest模組 import unittest2 定義乙個被測試函式 def add a,b return a b3 建立乙個unittest.testcase子類 class demotest unittest.testcase pa...

C 讀取XML檔案的簡單方法

一 xml只有乙個table的情況 1 userinfo.xml 2 讀取資料 dataset ds new dataset ds.readxml userinfo.xml datagridview1.datasource ds.tables user 二 xml有多個table的情況 1 user...