thread.h (スレッド)

C++で簡単にスレッドを使うためのヘッダファイル.kstm.orgの活動の一環としてつくられたソフトの一部だった気もします.

Win32とpthreadに対応してます.前半だけ使えばWin32上でpthreadっぽく書くためにも使えます.CriticalSectionをmutexとして使えます.

利用の制限はありません.個人の責任において自由に使ってください.

サンプル

#include <iostream>
#include "thread.h"
using namespace std;

// 継承して使う例
class MyThread : public Thread {
    int num;
public:
    MyThread(int d) :num(d) {}
    int task(){
        int i;
        for (i=0;i<100;i++) {
            Sleep(10);
            cout << num ;
        }
        return 0;
    }
};

// コールバック関数の例
int func(Thread *t) {
    int i;
    for (i=0;i<100;i++) {
        Sleep(10);
        cout << "0";
    }
    return 0;
}


int main(int argc, char **argv){
    MyThread t1(1),t2(2),t3(3);
    ThreadFunc t0(func);

    // 開始
    t1.start();
    t2.start();
    t3.start();
    t0.start();

    // 待つ
    t1.join();
    t2.join();
    t3.join();
    t0.join();

    return 0;
}

使い方

ヘッダファイルなのでincludeするだけです.何もたいしたことやってないので,ソースを見てください.

継承して使うためのThreadと,コールバック関数を呼んでくれるThreadFuncがあります.

Thread

Mutex

MLock

Mutexをロックしておくためのオブジェクト

履歴

Copyright © binzume all rights reserved.