開源庫tars,本文參考官方示例對封裝的執行緒tc_thread進行實踐。
封裝類 testthread
標頭檔案:
#pragma once
#include "../../tars/util/include/util/tc_thread.h"
using namespace tars;
namespace lesliefishtest
;}
cpp檔案:
#include "test_thread.h"
#include namespace lesliefishtest
void testthread::terminate()
}/****************************************!
* @brief 實際執行的任務
* @return void
****************************************/
void testthread::runtask()
/****************************************!
* @brief 實現run純虛函式
* @return void
****************************************/
void testthread::run()}}
/****************************************!
* @brief 靜態測試函式
* @return void
****************************************/
void testthread::test()
catch (const std::exception& ex)
}}
測試函式:
#include #include #include #include "test/utiltest/test_thread.h"
using namespace std;
using namespace tars;
int main()
執行結果:
yu@ubuntu:~$ cd /home/yu/projects/fishtars/bin/x64/debug/
yu@ubuntu:~/projects/fishtars/bin/x64/debug$ ./fishtars.out
thread id : 140188137690880
run the task
end the task
yu@ubuntu:~/projects/fishtars/bin/x64/debug$
實踐環境:vs2017+ubuntu14.04
**路徑:
Quartz定時任務框架執行緒池
springboot使用 enablescheduling註解開啟定時任務功能後,預設建立乙個固定執行緒數為1的執行緒池給定時任務框架呼叫執行定時任務。當多個任務同時執行時,會導致多個任務競爭執行執行緒,當上乙個任務執行完畢後,執行緒才會被釋放出來用於其他任務的執行。導致定時任務延時執行。因此需要建...
boost高併發網路框架 執行緒池
boost的官方例子,有單執行緒的網路框架,httpserver2是執行緒池的。下面參照網上某人的 修改了一點 忘了哪位大仙的 了 測試工具,適用stressmark,測試效果非常好,9000個 s include include authenhandle.h include configure.h...
boost高併發網路框架 執行緒池
boost的官方例子,有單執行緒的網路框架,httpserver2是執行緒池的。下面參照網上某人的 修改了一點 忘了哪位大仙的 了 測試工具,適用stressmark,測試效果非常好,9000個 s include include authenhandle.h include configure.h...