問題タブ [pthread-join]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - pthread_join と pthread_exit
pthread_exit 呼び出しでは、渡す必要がある値へのポインターを渡します。そして、pthread_join では、マニュアル ページによると、ポインターへのポインターである必要があります。期待される結果を取得します。しかし、以下に示すように int を使用すると、ガベージ値が取得されます。この実装は正しいですか?
c - pthread を使用してメソッドが呼び出されるたびに新しいスレッドを作成する
特定のメソッドが呼び出されるたびに新しいスレッドを作成するプログラムを作成したいと考えています。これまでの私の作業コードは次のとおりです。
ただし、私のコードでわかるように、いくつかの問題があります。たとえば、スレッド番号を追跡していないため、使用しているコードのすべてのプロセスが完了するのを待つにはどうすればよいでしょうか。また、スレッド「BusyWork」が完了すると、それ自体がクリーンアップされず、孤立したプロセスとして残されます。
私が思いついたアイデアの 1 つは、ベクターを使用して各スレッド番号を追跡し、それを main の最後の最終結合に使用することでした。ただし、問題は、配列リストが非常に大きくなりやすく、スレッドが完了しても縮小されないことです。
pthreads - ループ内に Pthreads を作成する
for ループでいくつかのスレッドを作成し、このループの後、それらを他のループに結合します。彼らは全員がそれを終えるまで彼らの役割を果たしますね? 私の最後の結果は論理的に間違っています。作成後に各スレッドに参加するだけで、私の結果は正しいです!!
c - 並行して実行されていないスレッド
並列スレッドを作成したい。例: 私の出力は次のようになります: スレッド 1 スレッド 3 スレッド 4 スレッド 2...
そして私の機能(ルーチン)は次のとおりです。
私は常に並列ではない結果を得ました:スレッド1スレッド2スレッド3スレッド4。このスレッドを同時に実行したい - 並列。問題は pthread_join の位置かもしれませんが、どうすれば修正できますか?
c++ - 2 つの pthread を待つ方法は?
最後の 2 つのコード行の間で何が起こっているか教えてください。
同時に待ちたい。2 つのスレッドのいずれかが終了/終了した場合はどうなりますか? サーバーが無限ループで実行され続けたらどうなるでしょうか?
c - pthread_join がループ インデックスを変更しているようです
私のコード (以下を参照) は奇妙な動作をします。出力は次のとおりです。
デバッグしようとしましたが、pthread_join の直後に i が 0 にリセットされていることがわかりました。これは、変更がどこかで行われなければならないという結論に私を導きます。しかし、私はものを見つけることができません。これは本当に難しいコードではないので、ちょっとばかげているように感じます。私は何に気付かなかったのですか?
オペレーティング システムは Ubuntu 14.04 です。N_THREADS は現在 10 に設定されており、N_RUNS は 10000 です。
メインスレッド:
ワーカー スレッド:
メインスレッドと上記のコードで作成されたもの以外に、他のスレッドはありません。
c++ - pthread_join セグメンテーション違反
このプロデューサー/コンシューマー プログラムで pthread_join を使用しようとしていますが、セグメンテーション エラーが発生し続けます。私の目的は、すべてのプロデューサー スレッドが終了するのを待ってから、すべてのコンシューマーを終了することです。しかし、最初のスレッドが参加した後、セグメンテーション違反が発生します。Web を検索しましたが、有用なものは見つかりませんでした。何か案は?
c - cのpthread_join関数
pthread_join() に問題があります。みんなが答えてくれることを願っています。以下のプログラムを実行しており、1 行を印刷する必要があります。その後、「pthread_join(th,&val)」を削除しようとしていますが、出力される行はありません。
プログラム内のすべての機能を見つけましたが、その理由がわかりません。
あなたは私を助けることができます, 私はすべての答えに感謝します.