トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Thread
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ リファレンス(Reference)


___

■ CreateThread

SYNTAX HANDLE CreateThread( LPSECURITY_ATTRIBUTES Lpthreadattributes, // Thread の取得属性 ( NULL で Default ) DWORD dwStackSize, // Stack の予約サイズ (0 で プライマリスレッドと同じサイズ ) LPTHREAD_START_ROUTINE lpStartAddress, // ThreadFunc の関数 LPVOID lpParameter, // ThreadFunc にわたすパラメータ DWORD dwCreationFlags, // flag // CREATE_SUSPENDED : ResumeThread が呼ばれるまで待機 // 0 : 即時に実行 LPDWORD lpThreadId // 識別 id がセットされる ( 不要ならば NULL にする ) ) DESC Thread を生成して Thread の識別子である HANDLE をかえす

    HANDLE trd[2];

    struct ThreadArg {
      int i;
    };
    
    ThreadArg arg[2];


    // Thread を 2個つくる
    for( int i=0; i< 2; i++ ){
      trd[i] = CreateThread( 0, 0, 
                           (LPTHREAD_START_ROUTINE)funcTrd, 
                           &(arg[i]), 0, 0 );
    } 


___

■ WaitForSingleObject

SYNTAX DWORD WaitForSingleObject(HANDLE h, DWORD msec ); DESC ハンドルで指定したオブジェクトを待機する。 ハンドルに Thread を指定した場合はスレッドが終了するというイベントをまつ。 RET WAIT_OBJECT_0 : シグナル状態になった WAIT_TIMEOUT : タイムアウトによって戻ってきた WAIT_ABANDONED: 指定したオブジェクトは既に別スレッドが破棄している WAIT_FAILED : 関数が失敗 TIP // Thread 完了まち if( WaitForSingleObject( hEvent, INFINITE ) == WAIT_OBJECT_0 ) { // 完了 }
    WaitForSingleObject( 2, trd, 1, INFINITE );
___

■ GetCurrentThread

SYNTAX HANDLE GetCurrentThread(); DESC 現在のスレッドの疑似ハンドルが返る 現在の Thread のパラメータを変更する際に便利.
___

■ GetCurrentThreadId

SYNTAX DWORD GetCurrentThreadId(); DESC 呼び出し側スレッドのスレッド識別子を返す
___

■ Sleep

SYNTAX void Sleep( DWORD msec ); DESC 指定時間 Thread を休止させる TIP 0 を指定すると 同じ Priority の 他の Thread に制御をゆずる ( CPU 時間の割り当てがされる ) なければ, そのまま処理が継続される
___

■ ResumeThread

SYNTAX DWORD ResumeThread( HANDLE hThread // スレッドのハンドル ); DESC スレッドを再実行させる。 スレッドには SuspendCount(中断)カウントがあり 1 減らす SuspendCount が 0 になると、スレッドの実行が再開される
___

■ SuspendThread

SYNTAX SuspendThread( HANDLE ) DESC 指定したスレッドを停止させる。 停止したスレッドはCPU時間が割り当てられなくなる。 WARNING 自分自身で自発的に止める場合は Sleep() を利用する。
___

■ ExitThread

SYNTAX ExitThread( DWORD exitcode ) DESC スレッドを終了させる。 終了したいスレッド自身からコールする。 外部から殺すには TerminateThread() を使う 指定した終了コードは外部から GetExitCodeThread() で取得できる。
___

■ TerminateThread

SYNTAX TerminateThread( HANDLE, DWORD exitcode ) DESC 指定したスレッドを終了させる。
___

■ GetExitCodeThread

SYNTAX BOOL GetExitCodeThread( HANDLE hThread, // スレッドのハンドル LPDWORD lpExitCode // 終了ステータス ); RETVAL 0 : FAIL !0 : OK STILL_ACTIVE : 実行中 DESC 別スレッドから指定したスレッドが終了したか調べる thread::getExitCode() で利用されている
    // 終了待ちをする 
    while ( 1 ) {
      GetExitCodeThread( trd, &ret );
      if ( ret == STILL_ACTIVE ){
        printf("still working\n")
        Sleep(0);
      }
      else {
        break;
      }
    }







金利比較.COM
NINJAIDX 14