C 可能是最簡單的多執行緒使用

2021-10-09 08:39:23 字數 1723 閱讀 6019

1、包含 thread標頭檔案,先看一段正常**:

#include

using

namespace std;

static mutex ut;

void

fun1

(int num)

void

fun2()

intmain()

2、新增標頭檔案thread,建立多執行緒

#include

#include

using

namespace std;

static mutex ut;

void

fun1

(int num)

void

fun2()

intmain()

join():按順序執行

detach( ):並行執行,放飛自我。

3、載入標頭檔案加鎖,讓其阻塞,進行順序執行(可以使用多個鎖,併發執行未占用相同資源的執行緒)

#include

#include

#include

using

namespace std;

static mutex ut;

void

fun1

(int num)

void

fun2()

intmain()

又按順序執行了

-----——————————————————我是分割線——————————————------

1、幫助手冊會給各種成員函式的使用方法,我們將必要的幾個

建立的執行緒類需要繼承qthread類(簡單易用的方式),必須重寫run()函式。

大概乙個使用過程如下:

1、繼承qthread建立子類a

2、子類a建立執行緒物件b

3、執行緒將執行完通知延遲銷毀執行緒物件(下乙個迴圈事件event到來時)

run( )函式return後就會自動發動finished訊號,後面再進入重新start()

在finished 的訊號槽中用wait()阻塞,wait返回後執行緒才真正finish

connect(&b, &qthread::finished, a, &qobject::deletelater);

4、 b.start() //開始執行該執行緒a例項物件b

5、執行緒退出

一般呼叫quit()函式之後可以緊接著呼叫wait()函式確保執行緒退出。

可能是最簡單的感知機演算法

最近學習統計機器學習,主要是參考李航的 統計學習 看完感知機後準備用python實現一下書上的例子。自己先在網上搜尋相關 可是看了半天,大家的實現都太複雜了,動輒上百行,而且將功能拆分成各個及其短小的函式,顯得十分不緊湊,而且不容易理解掌握,因此,想自己實現乙個更加簡單的版本,方便初學者理解和掌握,...

可能是最精闢的Python matplot筆記

繪製多圖 多資料圖 特殊影象 y軸刻度逆時針旋轉45 plt.xticks rotation 45 x軸刻度逆時針旋轉45 plt.xlabel confidence x軸圖例 plt.ylabel money y軸圖例 plt.title confidence money 標題 2x2 第乙個位置...

可能是你最容易看明白的快速排序(C 實現)

我認為現在csdn大多關於快速排序的程式都是在扯淡。不是針對某一位,我是說,我看到csdn的c 快排程式都是扯淡。他們根本沒有把重點放在快速排序本身,為什麼我這麼說?我們往下看。快排的本質思想就是分而治之。舉例說明,我們要對3 5 2 1 4進行排序。首先我們選中乙個數字當做是pivot,就是支點啦...