問題タブ [synchronisation]

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

java - C ++マルチスレッドの問題-ミューテックスが唯一の方法ですか?

インクリメント/デクリメントする複数のスレッドからアクセスされるカウンター変数があります。複数のスレッドで同時に更新しないでください。

問題の変数を変更する前に取得する必要のあるミューテックスオブジェクトを作成できることを私は知っています。問題の変数を変更できる関数が複数あるため、この場合のクリティカルセクションは適切ではありません。

ミューテックスを使用せずにこれを実行できる別の方法はありますか?ミューテックスを使用すると、パフォーマンスが低下します(http://www.codeguru.com/forum/showthread.php?t=333192を参照)。Javaには、それを実現するために変数宣言で使用できるキーワードがあると思いますが(「同期」と呼ばれますか?)、C ++にはそのようなものがありますか?

volatileは私が探しているキーワードではないことを私は知っています。

どうもありがとうございます。

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

c# - 最速の同期

次のシナリオがあります
。プログラムには、外部アプリケーションであるソケットへのリーダー スレッドとライター スレッドがあります。リーダーとライターは、調整されたサイクルで作業する必要があります。
ライターは動的な数のメッセージ (x) をソケットに送信し、リーダーはソケットからの応答を読み取る必要があります。メッセージの数は、1 サイクルあたり 5 ~ 10k を超えます。メッセージは送信された順序と同じ順序で受信されるのではなく、メッセージは明確なレイアウトを持っているため、単一のメッセージを判別することができます。
リーダーは x 個のメッセージを読み取り、. ライターは、リーダーが読み取り後処理を行った後、ソケットへの送信を再開する必要があります。
あなたの視点からの最速の同期は何ですか?

  • 書き込まれたメッセージの数で特別なメッセージをソケットに送信しますか? (ソケットには FIFO 保証はありませんが)
  • 従来のロック オブジェクトを操作しますか?
  • 書き込まれたメッセージの数を持つ整数にアトミック トランザクションを使用し、ライターが整数を 1 回だけ更新できるようにしますか?

    他の高速同期メカニズムを見逃していませんか?

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

wpf - ときどきオンライン アプリ データ同期

私は、マスター「サーバー」データベース (ほとんどの場合 sqlite) とクライアント固有のレコードを持つクライアント側のレプリカ (再び Sqlite) で構成されるアプリケーションを作成しています。クライアントが時々しかオンラインにならないか、低速の 3G 接続を使用している可能性があります。オンデマンドまたは定期的にコンテンツを確実に同期するソリューションが必要です。クライアント アプリケーションは、WPF/Silverlight または HTML5 のいずれかです (したがって、sqlite が優先されます)。

私は Microsoft 同期フレームワーク 2.0 を見てきましたが、明らかにこれは HTML5 では機能せず、可能な限りアーキテクチャの一貫性を維持したいと考えています。他のアイデアはありますか?

ありがとう。

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

iphone - ZSyncチュートリアル-デバイス間でCoreDataデータを同期する

iPhone、iPad、MacOSXで実行されているいくつかのアプリ間でCoreDataデータを同期することに興味があります。Zarra氏からZSyncプロジェクトを見つけましたが、関連するチュートリアルは見つかりませんでした。私は常にZSyncの改善に取り組んでいるZarra氏に連絡しました(ありがとう)。まだチュートリアルを書く予定はありません。

ZSync機能をアプリに実装していて、簡単なチュートリアルまたはそのようなチュートリアルへのリンクを提供できる人はいますか?

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

java - 非同期タスクを同期するための最良の方法

私の問題:802.15.4ワイヤレスネットワークをシリアルポートに接続しています(ラッパーを使用)。パッケージをネットワークに送信して、着信パッケージをリッスンできます。ご想像のとおり、これは非常に非同期です。

ここにタスクがあります。ネットワークにコマンドを送信し、1回の関数呼び出しで応答を待ちます。例:ネットワークID1338のノードから温度を取得したい。

この「synchonized(object)wait(..)notify(..)」のすべてを実行する以外に、応答メッセージを待機するためのより良い方法はありますか?

よろしく、bigbohne

多分いくつかのスパイスを追加する:

これはすべて、ユーザーがこれらのコマンドを(ajaxを介してまたは直接)要求できるWebインターフェースで終了する必要があります。また、応答値をデータベースにキャッシュすることも考えました。しかし、いくつかのコマンドについては、MUSSは成功/失敗の直接的な答えを持っています

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

git - 2 つのサーバー間で Git リポジトリを同期する方法

(2)サーバー間でGitリポジトリを自動的に同期して、3番目のポイントから交換できるようにする方法を探しています。

状況は次のとおりです。すべてのプロジェクトで git を頻繁に使用しており、一部のリポジトリのサイズが非常に急速に大きくなっています。現在、中央サーバーが 1 つあり、全員がこのサーバーにプッシュ/プルしています。ただし、これはすべてインターネット接続を経由するため、最速の方法ではありません。

アイデア: オフィスに別のサーバーを配置し、すべての git リポジトリをオフィス内で使用できるようにします。このサーバーは、オンラインのサーバーと同期する必要があります。せいぜいユーザーは、何らかの dns 調整を介してどちらを使用しているのかさえわからないため、オンライン サーバー リポジトリのアドレスは、ネットワークに接続されたときにオフィス内のものに解決されます。

すでに似たようなことをしている人はいますか?または、目標を達成するためのより簡単な方法はありますか。

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

android - Androidエミュレータの時刻同期

エミュレータの時刻とシステム時刻をミリ秒単位の精度で同期する方法はありますか? では、呼び出しは CのSystem.currentTimeMillis()呼び出しと同じ時間に返されるのでしょうか?gettimeofday()

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

c# - C# 画面更新との同期

次の問題があります: 私のアプリケーションは画面更新を行い、その後新しいビューのスクリーンショットを作成する必要があります。
コードは次のとおりです。

画面更新は「OnPropertyChanged("Screen")」で行い、スクリーンショットは「History.ChangeHistory(ADD_ITEM)」で取得します。
「Screen」のセッターを呼び出すメソッドは、すべて同じスキームに従います。

そしてここに問題があります: スクリーンショットは画面が更新される前に作成されますが、実行順序は別のことを示しています。

自分で問題を解決するために、いくつかのことを 試し
まし
た 。

すべての試行で同じ結果が得られました。スクリーンショットは、画面が更新される前に行われました。思いついたタイマーの使い方を試してみると、 ADD_ITEMを実行したに画面が更新されてしまいます。したがって、コンパイラーが暗黙的なスレッド化を行うことをお勧めしますが、それを修正/防止する方法がわかりません。

ご協力いただきありがとうございます。

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

python - Pythonスレッドの同期

私には3つのタスクがあります:t1、t2、t3。t1とt2を2つの並列スレッドで実行したいと思います。そして、t3を実行する前に、t1とt2の実行が終了するのを待ちたいと思います。

t1 =========> |
t2 ====> |
t3 ...................... | =======>
------------------ -------------------------------------------(時間)->

スレッドの同期についていくつかの基礎がありますが、この場合の管理方法がわかりません。Pythonライブラリに組み込みのソリューションはありますか?独自の(セマフォベースの?)ソリューションを作成する必要がありましたか?

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

c - インクリメントの同期プリミティブ

私はスレッドを勉強している初心者です。共通のカウンターをインクリメントするいくつかのスレッドを開始して、0 から 10000 までカウントするために、os161 との相互排除の問題を解決する宿題があります。同期プリミティブを使用して改善する方法がわかりません。助けてください。