問題タブ [mutex]
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.
mutex - ミューテックス名 - ベストプラクティス?
この質問に関連して、ミューテックスに名前を付けるためのベストプラクティスは何ですか? これは OS やバージョン (特に Windows の場合) によって異なる可能性があることを認識しているため、回答時にプラットフォームを指定してください。私の興味は Win XP と Vista です。
c++ - NAS上のファイルにアクセスする2つのプロセスを同期するにはどうすればよいですか?
これが重要です。C++で記述され、OSが異なる2台のマシン(1台のLinuxと1台のWindows)で実行されている2つのアプリケーションがあります。このプロセスの1つは、NAS(Network Attached Storage)上のXMLファイルの更新を担当し、もう1つはこのファイルを読み取ります。
変更中のファイルの読み取りを回避するために、これら2つのプロセスを同期することは可能ですか?
thread-safety - オブジェクトを使用するにはロックする必要がありますか?
私は言語機能について熟考していて、次の機能がどの言語にも実装されているかどうか疑問に思っていました。
Mutex 内でのみオブジェクトにアクセスできることを宣言する方法。たとえばJavaでは、オブジェクトが同期ノイズブロックにあり、C#ではロックされている場合にのみ、オブジェクトにアクセスできます。
オブジェクトが Mutex ブロックの外で使用された場合、コンパイラ エラーが発生します。
何かご意見は?
アップデート
一部の人々は質問を誤解していると思います。オブジェクトをロックできるかどうかを尋ねているのではなく、ロック/同期ステートメント内からのみアクセスできることをオブジェクトの宣言時に述べるメカニズムがあるかどうかを尋ねています。
c# - C# - Mutex の所有者の名前を取得する方法
2 つのアプリケーション間でミューテックスを共有しています。ミューテックスの現在の所有者の名前を表示する管理コンソールを作成したいと考えています。
Mutex を現在所有しているアプリケーション名を取得するにはどうすればよいですか?
objective-c - 非同期 URL 要求での iPhone のミューテックスの使用
私の iPhone クライアントは、非同期要求に多く関与しており、多くの場合、辞書または配列の静的コレクションを一貫して変更しています。その結果、次のエラーでサーバーからの取得に時間がかかる大きなデータ構造がよく見られます。
これは通常、サーバーへの 2 つの要求が、同じコレクションを変更しようとしているデータと共に返されることを意味します。私が探しているのは、この有害なエラーを回避するためにコードを適切に構成する方法のチュートリアル/例/理解です。正しい答えはミューテックスだと思いますが、個人的にはまだ使用したことがありません。
これは、NSURLConnection を使用して非同期 HTTP 要求を作成し、要求が完了したら委任の手段として NSNotification Center を使用した結果です。同じコレクション セットを変更するリクエストを開始すると、これらの衝突が発生します。
c# - Mutex を使用して、同じプログラムの複数のインスタンスが安全に実行されないようにしていますか?
このコードを使用して、プログラムの 2 番目のインスタンスが同時に実行されないようにしていますが、安全ですか?
何か例外がスローされてアプリがクラッシュした場合、ミューテックスがまだ保持されているのではないかと心配しています。本当?
.net - 募集: AbandonedMutexException の影響を受けないクロスプロセス同期
Mutexes を取得して終了するスレッドがいくつかあります。
ミューテックスはメイン リポジトリに格納され、プログラムが存在するときに適切に解放されます。ただし、Mutex を割り当てたスレッドが存在する場合、Mutex は自動的に解放され、その後 AbandonedMutexException を取得します (ドキュメントによると)。
この例外を回避し、割り当てスレッドが終了した後も Mutex を使用し続けるにはどうすればよいですか? この制限がない.Netに別のより適切な同期構造がありますか。
注- Mutex と同様のセマンティクスを持つクロスプロセス同期メカニズムを探しています。
c# - 単一インスタンスの Windows フォーム アプリケーションとその参照を取得する方法は?
一度に 1 つのインスタンスしか実行できない Windows フォーム アプリケーションがあります。Mutex を使用して Singleton を実装しました。アプリケーションは、コマンドラインから (パラメーターの有無にかかわらず) 起動できる必要があります。アプリケーションはスクリプトによって開始および終了されます。ユーザーはそれに対してアクションを実行できません。
したがって、アプリケーションの目的は、エンドユーザーに視覚的およびグラフィカルな情報を表示するだけの単純な「インジケーター」アプリケーションです。エンド ユーザーは何もできません。見るだけです。視覚的およびグラフィカルな外観が比較的簡単に実装できるため、Windowsフォームアプリケーションです(最上位、ボーダレスなどを取得できます)。
簡単に言えば、誰かが exit コマンドライン パラメータを使用して同じアプリケーションを実行しようとしたときに、現在実行中のアプリケーションを終了するにはどうすればよいですか?