0

私は C++ を使用してマルチ スレッディング ソリューションについて多くの調査を行ってきましたが、何らかの理由で (ライブラリを使用せずに) 使用するための具体的な構文を見つけることができませんでした。画像を画面にレンダリングし、画面スペースを分離しています。スレッドごとに。

私がやりたいのは、スレッドに値を増やしてハングさせ、すべてのスレッドが通過すると画面に表示され、スレッドを解放して再び開始することです。

void WaitForThreads(){
    WaitForSingleObject( hCompleteThread, INFINITE );
    IdleThreads++;
    if(IdleThreads==CoreMax){
        //Copy image to screen
        ReleaseMutex( hRelease);
    }
    ReleaseMutex( hCompleteThread);
    WaitForSingleObject( hRelease, INFINITE );
    IdleThreads--;
    if(IdleThreads>0){
        ReleaseMutex( hRelease);
    }
}

間違った構文を使用しているのか、何が起こっているのかを完全に把握していないだけなのかはわかりません。

4

1 に答える 1

0

より多くのコンテキストがなければ、あなたが何をしようとしているのかを伝えることは不可能です. hCompleteThread と hRelease はどのように作成されますか? -つまり、彼らは何ですか?

とにかく、セマフォを使用できます。セマフォがカウントを行います。これらは、この種の生産者/消費者向けのものに最適です。

于 2012-12-12T01:27:03.323 に答える