問題タブ [binary-semaphore]

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.

0 投票する
0 に答える
1193 参照

multithreading - Cのスレッドとセマフォ

おはようございます。セマフォ c ライブラリを使用して、2 つのスレッド t1 と t2 を実行しようとしています。私はこのコードを書きました

コードはバグなしで動作しますが、クリティカル セクションに入る 2 つのスレッドを取得しました。最初のスレッドが 100 の値を表示し、スレッド 2 が 200 まで他の値を継続することを希望します。

0 投票する
1 に答える
1907 参照

c - C でセマフォを使用してスレッドの順序を制御する

私は C が初めてで、Pacheco の本「並列プログラミング入門」のこのコードを実行しようとしています。でセマフォの初期化を実装する方法がわかりませんmain()&semaphores[dest]&semaphores[my_rank]配列ですか?

C コード:

出力配列をファイルに書き込もうとしているときに、このタイプの順序メカニズムを実装したいと考えています。これが私のコードです:

}

のセマフォの初期化main():

私はそれをグローバル変数としても持っています:

プログラムはコンパイルされますが、次のエラーが表示されます。

どんな助けでも大歓迎です。

0 投票する
1 に答える
442 参照

c - C のスレッドを使用してコード「ダブル フリーまたは破損 (アウト)」をコンパイル中にエラーが発生しましたか?

pthreads を使用してエボラ シミュレーションを実行しようとしています。セマフォ部分まではすべてうまくいきました。コードのコンパイル中に次のエラーが発生します。

これは私のコードです:

timer.h ファイルは次のとおりです。

どんな助けでも大歓迎です。ありがとう

0 投票する
3 に答える
1077 参照

c - Semaphore/Mutex と Printf 間の同期

私は、Operative System コースのセマフォと同期に関する演習 (以下の太字を参照) に取り組んでいます。演習のテキストは次のとおりです。

Pthread セマフォとミューテックス

C プログラム gen_binary_numbers.c は、コマンド ラインで整数 n を受け取り、再帰を使用して n ビットのすべての 2 進数を生成して表示します。再帰的なプログラムを並行プログラムに変換し、再帰的な手順を、2 進数を (任意の順序で) 表示する適切な数のプロセスの生成に置き換えます。

これは実際には私のコードです:

コードは正しい解を返すはずだと思いますが、出力が正しい数値を返さないことがあります。

正しい出力の例:

誤った出力の例 (重複による):

問題は、ミューテックスとprintfの間の同期にあると思います。混乱を招く結果を避けるための代替ソリューションはありますか?