問題タブ [thread-synchronization]
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++ - C++ でのパイプを使用したスレッドと同期
私は2つのスレッドを持っています。1 つのスレッドが数値を生成し、もう 1 つのスレッドが生成した数値を 2 乗します。パイプ、セマフォ、またはメッセージ キューを使用して、このアクションを同期する必要があります。この問題について教えてください
.net - 複数の入力を受け入れる VB スレッド ロック コードを記述する方法は?
ロックメカニズムに関する多くの資料を読みましたが、次のようなものの書き方についてはまだ答えがありません。
- 出口よりも多くの入口を受け入れる
- 2 番目のスレッドは最大 5 秒間待機し、その後クリティカル セクションに入ります。
以下の作品。ThreadA_Method1が複数回呼び出され、その後 (時々) ThreadA_Method2が続くケースを処理します。しかし、より良い解決策はありますか?
c# - 文字列に応じたC#スレッドの同期
私のプログラムでは、ファイルを処理する必要があります。私のプログラムは複数のスレッドを使用してファイルを処理する可能性があるため、各ファイルを一度に複数のスレッドで処理するべきではないため、何らかのロックが必要です。
上記のコードでは、一度に1つのファイルしか処理できませんが、2つのスレッドが一度に2つの異なるファイルを処理できる必要がありますが、同じファイルは処理できません。
私の最初のアイデアは、キーがファイルに、値がロックオブジェクトになっている辞書を作成することでした。しかし、文字列ファイルをロックすることも可能かどうか疑問に思いましたか?これについて何か考えはありますか?
PS:より良いタイトルを見つけることができずに申し訳ありません
c# - TCPclient によるマルチスレッド
マルチスレッドの TCPClient アプリケーションに問題があります。すべてのクライアント オブジェクトには、メッセージを送受信するスレッドと、(メッセージに応じて) 処理する必要があるタスクを処理するスレッドがあります... (たとえば、 msg スレッドが送信します)。しかし、何かがうまくいかない... アプリケーションはほとんど常に 100% の CPU を使用します (スレッドにタスクがある場合、それはほとんどの場合です)。また、一部のスレッドの優先順位が他のスレッドよりも低いと感じています (一部のログでは、たとえば、スレッド 1 ではスレッド 2 よりも操作に時間がかかることがわかります...この問題を処理する良い方法はありますか?
私はいくつかの助けやヒントが欲しいです! 不明な点は何でも聞いてください:)
ありがとう!/ニック
c - マルチスレッド アプリケーションで他の関数の実行を中断する
C で FIFO を実装しています。1 つのスレッドが FIFO に書き込み、もう 1 つのスレッドがそこから読み取っています。
関数 *add_to_fifo* と *get_from_fifo* が異なるスレッドによって同時に呼び出されるのを防ぐにはどうすればよいですか? つまり、*get_from_fifo* は、他のスレッドが *add_to_fifo* を実行していないときにのみ呼び出す必要があり、その逆も同様です。
c - ミューテックスを使用したPthread同期
Pthreadについて難しい問題が発生しましたが、理解できません。私はmutexを使用してサブスレッドとメインスレッドを同期します。しかし、subFinished [i]をメインスレッドでロックすると、ロックできず、そこでスタックします。特にコードにstd出力を挿入すると、うまくいくことがありました。ただし、ほとんどの場合、mutexsubFinished[i]をロックしようとするとスタックします。
スレッドを同期する方法で予測できないことが起こりますか?
明日は宿題。多くのthx!
Cでのコードは以下の通りです。
使用する
コンパイルする。
java - 配列内の要素の同期
私は Java のマルチスレッドに不慣れで、何が起こっているのかよくわかりません。
オンライン チュートリアルと講義ノートから、synchronized
null 以外のオブジェクトに適用する必要があるブロックにより、1 つのスレッドのみがそのコード ブロックを実行できることが保証されることがわかりました。配列は Java のオブジェクトであるため、同期を適用できます。さらに、配列にオブジェクトが格納されている場合、配列の各要素も同期できるはずです。
Long
私のプログラムにはいくつかのスレッドが数値の配列を更新しているため、オブジェクトの配列を作成しました。
このコードはrun()
、私が拡張したスレッド クラスのメソッド内にあります。配列、グリッドは、すべてのスレッドで共有されています。ただし、1 つのスレッドで同じプログラムを実行している場合、これは正しい結果を返しません。
thread-synchronization - NXC でスレッドの実行順序を制御するには?
プリエンプティブ スレッド スケジューリング環境で並列プログラムを作成したいのですが、ミューテックス (常に取られないように初期化されるバイナリ ミューテックス)、待機命令、およびスレッド協調命令 (スレッド内の別のタスクへの譲歩) を使用して同期することができます。しかし、利用可能なセマフォ メカニズムはありません (実際、私はLego Mindstorm 用のNXCプログラミング言語でプログラムを書いています)。
2 つのスレッドAとBでプログラムを作成し、(ABABAB ...) のような実行順序を生成する方法はありますか? [2 つの関数 A() と B() を呼び出すループを含む 1 つのスレッドを持つようなものですが、ここではマルチスレッド方式です]
セマフォがあれば、次のようにすると思います。
android - OpenGLスレッドから使用すると、Handler.dispatchMessageがハング/クラッシュします
私はAndroid用のopenglゲームに取り組んでいます。ユーザーがゲームを失うとメインメニューに戻る必要がありますが、この呼び出しはOpenGl ESスレッドからUIスレッドに行われるため、いくつかの問題があります。私はこの投稿を見つけ、queueEvent()を使用してレンダラーと別のクラスの間で変数を渡し、次のコードでHandlerクラスを追加しようとしました。
その後、OpenGLESコードで
しかし、まだフリーズまたはランタイム例外が発生しています(上記のコードのコメント行を参照してください)。私がここで見逃していること、または間違っていることは何ですか?
ちなみに、XMLで定義されたViewインスタンスの参照を取得する方法(menuViewID
上記のコードを参照)、またはfindViewById
メソッドが返す理由はNULL
何ですか?
java - Java スレッド - for two while ループ
私は初心者で、これについてのチュートリアルを調べましたが、これを正確に実装する方法がまだわかりません。
main() メソッドに 1 つと send() メソッドに 1 つの 2 つの while ループがあり、両方を同時に実行する必要があります。
sendDATA の while ループは、ファイルから 512 バイトを読み取り、それらをクライアント クラスに送信することによって機能します。メインメソッドのループがクライアントからパケットを受信し、変数がtrueの場合に変数を更新している間、sendDATAは次の512バイトを読み取って送信しますが、2つのスレッドで作業できません.
これを 1 つの while ループで実行すると、プログラムが動作し、最後のパケット以外のすべてのパケットが転送されます。クライアントは最後のパケットを取得しません。
サーバ:
クライアント: