test.hpp
#ifndef __internal_thread_hpp__
#define __internal_thread_hpp__
#include #include using boost::shared_ptr;
namespace boost
class internalthread
virtual ~internalthread();
void startinternalthread();
void stopinternalthread();
bool is_started() const;
protected:
virtual void internalthreadentry();
bool must_stop();
private:
void entry();
shared_ptrthread_; };
#endif
test.cpp
#include #include #include #include #include #include "my_thread.hpp"
/* 析構函式,終止執行緒 */
internalthread::~internalthread()
/* 執行緒是否啟動,是返回true */
bool internalthread::is_started() const
/* 執行緒是否要關閉,是返回true */
bool internalthread::must_stop()
/* 啟動執行緒 */
void internalthread::startinternalthread()
trycatch (std::exception& e) }
void internalthread::internalthreadentry()
}/* 執行緒處理單元 */
void internalthread::entry()
/* 終止執行緒 */
void internalthread::stopinternalthread()
catch (boost::thread_interrupted&)
catch (std::exception& e)
}}int main()
需要先安裝boost庫,再編譯:g++ test.cpp -lboost_system -lboost_thread C thread 執行緒封裝類
思路是這樣的,寫乙個thread抽象類,有函式virtual void run 0,類中呼叫window api函式createthread 建立並啟動執行緒,所有執行緒都執行同乙個靜態函式threadfunction lpvoid param param傳遞執行緒物件的this指標 createt...
python封裝執行緒類(啟動 終止 檢視執行緒狀態)
1.將啟動 終止和檢視執行緒狀態的方法封裝成類 2.宣告時傳入要啟動的方法 3.通過 start stop 和 state 執行啟動 終止 和 檢視狀態 具體 如下 encoding utf 8 import time import threading import inspect import c...
C語言封裝執行緒與日誌類
折騰了兩天,查半天資料還是不如自己動動手。如題這是兩個很常見的問題,雖然很多語言都封裝了執行緒,但是讓自己寫乙個還是比較麻煩的,這兒做乙個簡單的demo,大家可以去完善。日誌工具包 define max msg text 1024 10 define max msg title 1024 日誌訊息結...