問題タブ [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.

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

mysql - 2 つのスクラッチ データベースの同期を維持する方法

私の質問はこれによく似ています。ただし、私はMySQLを使用しており、見つけることができる「最も技術の低い」ソリューションを探しています。

状況は、同じデータが含まれているはずの 2 つのデータベースがありますが、主に相互に連絡できないときに更新されます。それらをうまく同期できる、ある種のクラスタリングまたはマスター/スレーブのものがあると思います。ただし、これは自分で使用するための単なるスクラッチ DB であるため、私の場合はやり過ぎです。

これを行う良い方法は何ですか?

私の現在のアプローチは、そのうちの1つにフェデレーションテーブルを配置し、時々、挿入/選択を使用してデータをネットワーク経由で他のテーブルに詰め込むことです。主キーなどを処理しようとすると、少し複雑になります。(insert ignore正しく動作しないようです)

ps転送する行を選択するクエリを簡単に作成できます。

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

algorithm - この同期アルゴリズムを壊してください

P1 と P2 は、クラスタ内のプロセスまたはノードです。f1 と f2 はフラグです。強力なメモリ モデルがあり、両方のプロセスがいつでも再起動される可能性があり、プロセスを再起動するとそのフラグがクリアされると仮定すると、これは私が思いついたアルゴリズムであり、まだ破ることはできませんでしたが、理論的に証明されておらず、ピーターソンのものと比べると単純すぎるように見えます。

誰でも流れを見ることができますか?プロセスの1つがセクションにすばやく再入力することで他のプロセスを枯渇させる可能性があることを除いて?

0 投票する
9 に答える
1520 参照

java - Java で同期違反を検出する方法

(テスト中に)同期違反を検出できるように、同期などについてアサーションを作成する良い方法はあるのでしょうか。

これは、たとえば、スレッドセーフではなく、スレッドセーフにならないクラスがある場合に使用されます。何らかの方法で、そのメソッドのいくつかが複数のスレッドから呼び出された場合に通知するアサーション(ログなど)があります。

私は、AWTディスパッチスレッド用に次のようなものを作成できることを切望しています:

もっと一般的なものが欲しいだけです。問題の説明はそれほど明確ではありませんが、誰かが良いアプローチを持っていることを願っています =)

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

datetime - サーバー時間を維持するための最良の方法は何ですか

多くのアプリケーションはサーバー時間を頻繁に必要とします。

サーバーへの要求を最小限に抑えて、クライアントマシンでサーバー時間を維持するための最良の方法は何ですか。

0 投票する
7 に答える
38613 参照

c# - C# のさまざまなスレッド同期オプションの違いは何ですか?

誰かが次の違いを説明できますか:

  • ロック (someobject) {}
  • ミューテックスの使用
  • セマフォの使用
  • モニターの使用
  • その他の .Net 同期クラスの使用

私はそれを理解することはできません。最初の2つは同じように思えますか?

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

java - スレッドセーフ関数の呼び出しも同期する必要がありますか?

ConcurrentHashMap (put はスレッド セーフ) を使用していて、ConcurrentHashMap put を使用するパブリック関数 myPut を提供する場合、関数を同期する必要がありますか?

意味 : これを同期する必要がありますか?

0 投票する
6 に答える
16295 参照

java - Java で同期メソッド アクセスが必要になるのはどのような場合ですか?

インスタンス メンバーへのアクセスを同期する必要があるのはどのような場合ですか? クラスの静的メンバーへのアクセスは常に同期する必要があることを理解しています。これは、クラスのすべてのオブジェクト インスタンスで共有されるためです。

私の質問は、インスタンス メンバーを同期しない場合、いつ間違っているのでしょうか?

たとえば、私のクラスが

どのような場合に (クラスの使用についてMyClass)メソッドを持つ 必要public synchronized setInstanceVar()があり public synchronized getInstanceVar()ますか?

ご回答ありがとうございます。

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

java - 静的メンバーには特別な同期ブロックが必要ですか?

次のようなクラスがあります。

オブジェクトが同期されていると見なすことができますか、それとも静的メンバーであるため問題がありますか?

編集:異なるスレッドが doSomething() にアクセスしている可能性があり、その場合、オブジェクトはスレッドセーフな方法でアクセスする必要があることに注意してください。

0 投票する
6 に答える
559 参照

.net - 同期可能な CRM システム

ユーザーがデータベースのローカル コピーを保持できるようにする CRM システムを開発する必要があります。これにより、メイン サーバー システムと同期することができます。これは、販売チームがインターネットが使用できない地域に出張しても、比較的最新の情報を使用して業務を行い、オフィスに戻ったときに情報を同期できるという考え方です。

私はこれまでにこのようなことをしたことがありません。誰かが同期ソリューションを推奨できますか?

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

java - Java を使用して共有フォルダー内のファイル アクセスを同期する方法 (または、ネットワーク レベルでの ReadWriteLock)

1 つの仮想マシンで複数のアプリケーションを実行しています。1 つのサーバーで複数の仮想マシンを実行しています。そして、私は複数のサーバーを持っています。それらはすべて、Linux の共有フォルダーを使用してファイルを共有します。このファイルは、すべてのアプリケーションによって読み書きされます。書き込みプロセス中、アプリケーションはこのファイルを読み取ることができません。書き込みについても同様です。アプリケーションがファイルを読み取っている場合、アプリケーションはそのファイルに書き込むことができません。

書き込みプロセスが完了するのを待ってから読み取りを行うようにアプリケーションを同期するにはどうすればよいですか? またその逆も同様です。(VM内のアプリケーションは同期する必要があり、サーバー間でアプリケーションも同期する必要があります)

現在の実装では、「ファイル セマフォ」を使用しています。ファイルが書き込まれようとしている場合、アプリケーションは、共有フォルダーに追加のファイル (「file.semaphore」という名前を付けます) を作成して、セマフォを「取得」しようとします。「file.semaphore」ファイルが既に存在する場合、これはセマフォが別のアプリケーションによって既にロックされていることを意味します。このアプローチには、「ファイルが存在する」テストと「ファイルを作成する」操作がアトミックに実行されていることを確認できないという問題があります。このようにして、2 つのアプリケーションが「file.semaphore」ファイルをテストし、それが存在しないことを確認して、同時にファイルを作成しようとする可能性があります。