問題タブ [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.
objective-c - 静的メソッドで@synchronized
@synchronized
Objective-Cでは、コンストラクトを使用して、あるオブジェクトで同期されているブロックを宣言できます。次のようになります。
ただし、(の代わりに)self
静的メソッドがある場合に正確に何を指しているのか興味があります。私はAppleのドキュメントを調べてみましたが、彼らはそれが大丈夫だとほのめかしていますが、実際には説明していません。私はそれが機能することを知っています、私はそれが何を意味するのか興味があります。+
-
java - スレッドで同期を使用する
次のことの理解は何でしょうか?
私はSOでこの投稿を読みましたが、それでも組み立てるのに途方に暮れています。
code1:
code2:
チュートリアル、または子供に説明するように同期して説明するためのリンクはありますか?
java - Java のスレッドでの同期
アプリに自家製の Web サーバーがあります。この Web サーバーは、受け入れられるソケットに入ってくるすべての要求に対して新しいスレッドを生成します。作成したばかりのスレッドで特定のポイントに到達するまで Web サーバーを待機させたい。
このサイトの多くの投稿と Web 上の例を確認しましたが、スレッドに待機するように指示した後、Web サーバーを続行できません。基本的なコード例は素晴らしいでしょう。
同期されたキーワードはこれについて正しい方法ですか? もしそうなら、どうすればこれを達成できますか?コード例は私のアプリの下にあります:
ウェブサーバー
ねじコード
更新 - 最終的なコードは次のとおりです。は、応答ヘッダーを送信するたびにHttpRequest
呼び出すだけです (もちろん、インターフェイスを別のクラスとして追加し、メソッドを に追加します):resumeListener.resume()
addResumeListener(ResumeListener r1)
HttpRequest
Web サーバー部分
java - BlockedQueue で同期する
私がレビューしているコード部分があります ( FindBugsを使用)。
}
このコードで FindBugs を実行すると、次のように不平を言う -
このメソッドは、java.util.concurrent パッケージ (またはそのサブクラス) のクラスのインスタンスであるオブジェクトの同期を実行します。これらのクラスのインスタンスには、synchronized キーワードの使用とは異なり、互換性のない独自の同時実行制御メカニズムがあります。
同期されたコード部分をコメントアウトすると、synchronized(q){
不平を言います-
このメソッドは、明らかにオブジェクトのロックを保持せずに Object.notify() または Object.notifyAll() を呼び出します。ロックを保持せずに notify() または notifyAll() を呼び出すと、IllegalMonitorStateException がスローされます。
FindBugs 検証に合格するには、このメソッドをどのように実装すればよいでしょうか? 上記の実装は、並行クラスの場合の通知に適していますか?
ありがとうございました。
linux - 同じリソースにアクセスする 2 つのプロセスを同期するにはどうすればよいですか?
同じ物理メモリ (GPIO データ アドレス) にアクセスする 2 つのプロセスがあります。では、これらのアプリ間で同期するにはどうすればよいでしょうか? ミューテックスやセマフォなど、ある種のロック機構があることは理解していますが、どの方法が最速ですか?
お手伝いありがとうございます、
-nm
java - Javaでの同期?
私はスレッドセーフなプログラミングにかなり慣れていないので、以下のようなものがあるかどうか疑問に思っていました。コンパイルして実行すると、デッドロックから安全になりますか?
java - 変数の同期コピーとローカル コピー
次のイディオムを持つレガシーコードを見ています:
Intelli-J のコード インスペクションから得られる警告は次のとおりです。
これは適切な同期ですか? またその理由は?
java - Javaで同期にコストがかかるのはなぜですか?
私はJavaに本当に慣れていないsynchronized
ので、Javaでは「非常に高価」だと読みました。私が知りたいのは、何が高価で、どのように高価なのかということだけです。
ありがとう。
c++ - C++ での Java のようなオブジェクト モニターの最も効率的な実装は何ですか?
Java では、各オブジェクトに同期モニターがあります。したがって、実装はメモリ使用量の点でかなり凝縮されており、うまくいけば高速でもあると思います。
これを C++ に移植する場合、最適な実装は何でしょうか。「pthread_mutex_init」よりも優れたものがあるに違いないと思いますか、それともJavaのオブジェクトオーバーヘッドは本当に高いですか?
編集: Linux i386 の pthread_mutex_t が 24 バイトであることを確認しました。オブジェクトごとにこのスペースを確保しなければならない場合、それは膨大です。
java - プリミティブ型の揮発性または同期?
Java では、変数のサイズが 32 ビット以下の場合、割り当てはアトミックですが、32 ビットを超える場合はそうではありません。
二重割り当てまたは長い割り当ての場合、どの (揮発性/同期) を使用するのがより効率的ですか?
お気に入り、
synchronized はプリミティブ引数には適用できません。この場合、同期を使用するにはどうすればよいですか? もちろん、クラスをロックしたくないので、this
使用しないでください。