問題タブ [synchronized]

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 投票する
3 に答える
5947 参照

objective-c - 静的メソッドで@synchronized

@synchronizedObjective-Cでは、コンストラクトを使用して、あるオブジェクトで同期されているブロックを宣言できます。次のようになります。

ただし、(の代わりに)self静的メソッドがある場合に正確に何を指しているのか興味があります。私はAppleのドキュメントを調べてみましたが、彼らはそれが大丈夫だとほのめかしていますが、実際には説明していません。私はそれが機能することを知っています、私はそれが何を意味するのか興味があります。+-

0 投票する
4 に答える
533 参照

java - スレッドで同期を使用する

次のことの理解は何でしょうか?
私はSOでこの投稿を読みましたが、それでも組み立てるのに途方に暮れています。

code1:

code2:

チュートリアル、または子供に説明するように同期して説明するためのリンクはありますか?

0 投票する
4 に答える
3166 参照

java - Java のスレッドでの同期

アプリに自家製の Web サーバーがあります。この Web サーバーは、受け入れられるソケットに入ってくるすべての要求に対して新しいスレッドを生成します。作成したばかりのスレッドで特定のポイントに到達するまで Web サーバーを待機させたい。

このサイトの多くの投稿と Web 上の例を確認しましたが、スレッドに待機するように指示した後、Web サーバーを続行できません。基本的なコード例は素晴らしいでしょう。

同期されたキーワードはこれについて正しい方法ですか? もしそうなら、どうすればこれを達成できますか?コード例は私のアプリの下にあります:

ウェブサーバー

ねじコード

更新 - 最終的なコードは次のとおりです。は、応答ヘッダーを送信するたびにHttpRequest呼び出すだけです (もちろん、インターフェイスを別のクラスとして追加し、メソッドを に追加します):resumeListener.resume()addResumeListener(ResumeListener r1)HttpRequest

Web サーバー部分

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

java - BlockedQueue で同期する

私がレビューしているコード部分があります ( FindBugsを使用)。

}

このコードで FindBugs を実行すると、次のように不平を言う -

このメソッドは、java.util.concurrent パッケージ (またはそのサブクラス) のクラスのインスタンスであるオブジェクトの同期を実行します。これらのクラスのインスタンスには、synchronized キーワードの使用とは異なり、互換性のない独自の同時実行制御メカニズムがあります。

同期されたコード部分をコメントアウトすると、synchronized(q){不平を言います-

このメソッドは、明らかにオブジェクトのロックを保持せずに Object.notify() または Object.notifyAll() を呼び出します。ロックを保持せずに notify() または notifyAll() を呼び出すと、IllegalMonitorStateException がスローされます。

FindBugs 検証に合格するには、このメソッドをどのように実装すればよいでしょうか? 上記の実装は、並行クラスの場合の通知に適していますか?

ありがとうございました。

0 投票する
2 に答える
2185 参照

linux - 同じリソースにアクセスする 2 つのプロセスを同期するにはどうすればよいですか?

同じ物理メモリ (GPIO データ アドレス) にアクセスする 2 つのプロセスがあります。では、これらのアプリ間で同期するにはどうすればよいでしょうか? ミューテックスやセマフォなど、ある種のロック機構があることは理解していますが、どの方法が最速ですか?

お手伝いありがとうございます、

-nm

0 投票する
4 に答える
254 参照

java - Javaでの同期?

私はスレッドセーフなプログラミングにかなり慣れていないので、以下のようなものがあるかどうか疑問に思っていました。コンパイルして実行すると、デッドロックから安全になりますか?

0 投票する
4 に答える
4470 参照

java - 変数の同期コピーとローカル コピー

次のイディオムを持つレガシーコードを見ています:

Intelli-J のコード インスペクションから得られる警告は次のとおりです。

これは適切な同期ですか? またその理由は?

0 投票する
5 に答える
25218 参照

java - Javaで同期にコストがかかるのはなぜですか?

私はJavaに本当に慣れていないsynchronizedので、Javaでは「非常に高価」だと読みました。私が知りたいのは、何が高価で、どのように高価なのかということだけです。

ありがとう。

0 投票する
4 に答える
424 参照

c++ - C++ での Java のようなオブジェクト モニターの最も効率的な実装は何ですか?

Java では、各オブジェクトに同期モニターがあります。したがって、実装はメモリ使用量の点でかなり凝縮されており、うまくいけば高速でもあると思います。

これを C++ に移植する場合、最適な実装は何でしょうか。「pthread_mutex_init」よりも優れたものがあるに違いないと思いますか、それともJavaのオブジェクトオーバーヘッドは本当に高いですか?

編集: Linux i386 の pthread_mutex_t が 24 バイトであることを確認しました。オブジェクトごとにこのスペースを確保しなければならない場合、それは膨大です。

0 投票する
5 に答える
18083 参照

java - プリミティブ型の揮発性または同期?

Java では、変数のサイズが 32 ビット以下の場合、割り当てはアトミックですが、32 ビットを超える場合はそうではありません。

二重割り当てまたは長い割り当ての場合、どの (揮発性/同期) を使用するのがより効率的ですか?

お気に入り、

synchronized はプリミティブ引数には適用できません。この場合、同期を使用するにはどうすればよいですか? もちろん、クラスをロックしたくないので、this使用しないでください。