C 11實現乙個簡單的執行緒池

2022-05-04 04:27:11 字數 833 閱讀 4345

為了不讓手生,邊複習邊手擼了乙個執行緒池,**量比較少,如下,用了一些c++11的實現,語言標準嘛,就是跨平台的:

thread_poo.h

#ifndef _thread_pool_

#define _thread_pool_

#include#include#include#include#include#includeusing namespace std;

class thread_pool ;

#endif // !_thread_pool_h

thread_pool.cpp如下:

#include"thread_pool.h"

thread_pool::thread_pool(int thread_nums)

}void thread_pool::worker());//加鎖的原因很簡單,如果不加可能這個任務被其他的執行緒執行了

task task= p_task.front();

p_task.pop();

lk.unlock();

task(); }}

thread_pool::~thread_pool()

} p_task.push(task);

p_condition.notify_one();

}

main如下:

#include"thread_pool.h"

#includeusing namespace std;

void fun1()

}void fun2()

}int main()

C 11 執行緒池簡單實現

話不多說,先上 pragma once include include include include include include include include const int max threads 1000 typedef std function void void task int...

C 11 簡單實現執行緒池

執行緒池是一種多執行緒處理形式,處理過程中將任務新增到佇列,然後在建立執行緒後自動啟動這些任務。執行緒池執行緒都是後台執行緒。每個執行緒都使用預設的堆疊大小,以預設的優先順序執行,並處於多執行緒單元中。如果某個執行緒在託管 中空閒 如正在等待某個事件 則執行緒池將插入另乙個輔助線程來使所有處理器保持...

C 11 寫乙個執行緒池

多併發時避免系統不斷的建立和銷毀執行緒,過度消耗資源 切換等,一般都使用執行緒池來管理執行緒。可以讓乙個執行緒重複執行多個任務而提高效率,話不多說使用c 11 特性寫了乙個執行緒詞,直接上 記錄一下,輪子就可以復用啦!執行緒池的作用 非同步解耦!主要構成 執行緒,任務,管理元件。singleton....