2016-05-03 4 views
0

<thread>を自分のコードに使用する必要があるかどうかを確認したいと思います。 私は単純なコンソールゲームのために書いています。それは、私が入力した文字がコンソールの上から落ちたようなもので、リアルタイムで各文字を入力することによって、それらを1つずつ取り除くことができます。 (名前をすばやく思い出すため)私のプログラムでC/C++ <Thread>を使用していますか?

私は、2つの部分に分割する必要があると思います。ランダムな文字を印刷して、下に下ろしています。ライフゲージ)と手紙を待っているもう1人の人が、削除のために使用します。 )。

両方ともリアルタイムでコンソール上で動作させるためには、各プロセッサが必要と思われ、一致する文字にはメッセージパッシングが必要です。

+8

:おそらく多くの方が簡単の一体これのようなもの(擬似コード)であるあなたの人生を作ってあげる何

。あなたは実際にどの言語を使用していますか? – CoryKramer

+1

また、実際の質問もしていません。 – NathanOliver

+0

自分のプログラムでスレッドを使うべきですか?それは私の質問でした。あなたは正確に読んだことはありません。 NathanOliver。 – jay

答えて

1

アプリケーションが一見並行した処理を実行する必要があるとしても、複数のスレッドを使用する必要があることを自動的には意味しません。たとえば、イベントループを使用して、単一のスレッドでタスクを簡単に解決できます。

通常、マルチスレッドは、次のような状況で便利です。1)コンピューティングパフォーマンスが必要で、マルチコアシステムで並列計算を行う。 2)アプリケーションの他の部分(例えば、GUI応答性)に影響を及ぼすブロッキング操作(例えば、ネットワークまたはディスクI/O)がある。

0

これに対してマルチスレッドを使用することはできますが、率直に言って、私はそうではありません。

あなたが覚えておく必要があることは、人間と同時にできるほど短い時間は、コンピュータにとって小さな永遠と言えることです。または、アプリケーションによっては長いものさえも。答えは異なりますように、CとC++の両方をタグ付けしないでください

while (true) { 
    // moves letters down, spawns them at the top, checks if they've fallen off the screen 
    updateFallingLetters(); 
    // polls for input, updates game state accordingly 
    checkIfIHaveInput(); 
    // waits until one thirtieth or one sixtieth or whatever of a second has passed. 
    sleepUntilFrameRateAfterLastIWasHere(); 
} 
+0

上記のものは、私のような初心者の方にとって有益ですが、あなたの回答も役に立ちます。 – jay

関連する問題