pthreads

    5

    4答えて

    複数の入力を待つことをお勧めします。たとえば、私のプログラムが3つのソースから入力を受け取れるようにしたいとします。 pthread_cond_wait() 標準入力からデータを取り込みます。 getline() ソケットを聴くなど。 accept() これを行うにはどのような方法が最適ですか?異なる入力ソースごとにスレッドが必要ですか?ありがとう

    3

    1答えて

    私のC++プログラムでは、pthreads(Linux上で実行中)に基づいて、トリガと待機メンバ関数を持つクラスCEventがあります。待機中のプロセスが1つある場合、実装は非常に明白です(つまり、オンラインの多くの例)。しかし今は、複数のスレッドがイベントを待っているという要件を満たす必要があり、trigger()が呼び出されたときにすべてが確実に起動するはずです。 2番目の条件として、trig

    4

    2答えて

    pthreadsを使用するマルチスレッドプログラムのプロファイリングにgprofを使用できますか?つまり、その出力にはすべてのスレッドで使用される時間が含まれますか?

    41

    6答えて

    科学計算のほとんどの人は、共用メモリの並列化に関して準標準としてOpenMPを使用しています。 OpenMP over pthreadsを使用する理由は何ですか(可読性を除く)?後者はもっと基本的なようだし、最適化するのが早くて簡単かもしれないと思う。

    1

    2答えて

    私はpthreadsを使用する代入のためにC++で書いたプログラムをコンパイルしようとしています。私はLinuxでEclipseを使用していますが、コンパイラの引数(g ++、gcc、リンカ)に "-lpthread"を追加しても、コンパイルに問題はありませんでした。しかし、私が実行してデバッグしようとしていたとき、Eclipseからエラーメッセージウィンドウ "Launch failed。Bin

    12

    3答えて

    time.h :: sleep()とpthread.h :: pthread_yield()の違いについての情報を探していましたが、確かな参考資料が見つからず、この質問を投稿しています。 time.h :: sleep()とpthread.h :: pthread_yield()の違いは何ですか? 更新: I)は(個々のスレッドをスリープ状態に睡眠を()を使用していた...と私のアプリケーションは

    4

    2答えて

    に私は、セグメンテーションフォールトを取得しています私はそれを引き起こしている可能性があるかわからないんだけど。コンストラクタで_mutexを初期化しました pthread_mutex_init(&_mutex,NULL). 何かできますか?

    0

    1答えて

    のためのロックを選択する上で助けが必要です: スレッドがXを変更しようとすると、最初にロックが必要となり、いくつかの変更スレッドはいくつかのロックを必要とする可能性があります。 スレッドがXを読み取ろうとすると、すべての変更スレッドがロックを解除するまで待機する必要があります。 linux pthreadライブラリでは、このような状況に対処する方法はありますか?多くの感謝

    27

    8答えて

    最初に調整するのが最も難しいことの1つは、Cでpthreadsを使用した最初の激しい経験プログラミングでした。次のコード行が大部分であることを正確に知ることに慣れていました私のデバッグテクニックは、その期待に集中していました。 Cのpthreadを使ってデバッグするには、どのような良いテクニックがありますか?ツール、ツール、またはデバッグに役立つツールを追加することなく、個人的な方法論を提案するこ

    0

    4答えて

    私はlock()、unlock()、query1()、query2()、query3()の各関数を持っています。クエリ関数はデータベース上でいくつかのクエリを実行するだけで、それに対するr/wアクセスと考えることができます。彼らはロックしていません。私のシステムはマルチスレッド化されています。 スレッドp1からlock()が呼び出された場合、スレッドp1からのクエリのみが実行され、他のすべてのスレ