問題タブ [atomic]

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

java - AtomicIntegerlazySet対セット

lazySetとのset方法の違いは何AtomicIntegerですか?ドキュメントには、次のことについて多くのことを言うことはありませんlazySet

最終的には指定された値に設定されます。

保存された値はすぐに目的の値に設定されるのではなく、将来的に設定されるようにスケジュールされているようです。しかし、この方法の実際の使用法は何ですか?例はありますか?

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

assembly - ハードウェアとソフトウェアの割り込みを無効にする

ASM/C/C++ プログラムですべての割り込みを無効にして、プロセッサを完全に制御することはできますか?

はいの場合 -> どうやって?

そうでない場合 -> 「アトミック」オペレーション システム コールはどのように機能しますか (たとえば、クリティカル セクションに入る)。

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

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

performance - x86/x86_64 で 16 ビット カウンターをアトミックにインクリメントできますか?

既存の 32 ビット カウンターを 16 ビット カウンターに変換してメモリを節約したいと考えています。このカウンターは、アトミックにインクリメント/デクリメントされます。私がこれを行う場合:

  1. x86/x86_64 での atom_inc(uint16_t x) にはどの命令を使用しますか?
  2. これは、マルチプロセッサ x86/x86_64 マシンで信頼できますか?
  3. これを行うために、これらのアーキテクチャのいずれかに支払うパフォーマンスのペナルティはありますか?
  4. (3) で「はい」の場合、予想されるパフォーマンスの低下はどれくらいですか?

コメントしてくれてありがとう!

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

c - C のビットフィールド マスク

コンパイル時にビットフィールドのマスクを見つけるための C での移植可能な方法はありますか?

理想的には、次のようなフィールドをアトミ​​ックにクリアできるようにしたいと考えています。

それ以外の場合は、構造体のロックを解除する必要があります。これは、私が望むよりも重いものです。

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

ado.net - ADO.NET でのデータ アダプターの原子性

私は ADO.NET が初めてで、それを学んでいます。ADO.NET のデータ アダプターは、データ セットにデータを入力してデータベースを更新するときに、原子性または ACID プロパティを単独で提供するのか、それともトランザクションを明示的に使用してこれを実現する必要があるのか​​疑問に思っていました。

まあ言ってみれば:

  • データ アダプターを介してデータベースからデータ セットにデータを取得したい
  • Web サイトに情報を送信する
  • データセットのデータに変更を加える
  • DataAdapter.Update(DataSet) を使用してデータベースを更新する

すべてのステップ (一度に取得できるオフライン データになるため、必要に応じて最初のステップを除外できます) をアトミックに一度に実行したいのですが、トランザクションが必要ですか? そうでない場合、これを達成する方法は?

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

multithreading - アトミック操作は、スレッド間で行うのと同じようにプロセス間で機能しますか?

明らかに、アトミック操作により、異なるスレッドが値を上書きしないことが保証されます。しかし、共有メモリを使用する場合、これはプロセス間でも当てはまりますか? プロセスがOSによって異なるコアで実行されるようにスケジュールされている場合でも? それとも、異なる異なる CPU 間ですか?

編集:また、安全でない場合は、スケジューラの観点からプロセスとスレッドが同じであるLinuxのようなオペレーティングシステムでも安全ではありませんか?

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

multithreading - ロックフリーのデータ構造が相互排除 (ミューテックス) よりもパフォーマンスが低いのはいつですか?

ロックフリーのデータ構造が「特定のワークロードに対して」より効率的であることをどこかで読みました(もうページが見つかりません)。アトミック操作を実行するためのロック命令の約 100 サイクルのヒットは、スリープしてスケジューラがプロセスを復帰させるのを待つよりもはるかに高速に聞こえるため、ロックフリーのデータ構造がどのような状況下にあるかは明らかではありません。昔ながらのミューテックスよりも好ましくないでしょう。ロックが 99% の時間利用可能で、プロセスがスリープ状態になる必要がない場合、ミューテックスの方が高速ですか? 適切なロックのないデータ構造が利用可能であると仮定して、どちらに進むべきかを知るための良い経験則はありますか?

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

multithreading - 最新の CPU でマルチスレッドが依然として懸念される場合、値は部分的に更新されますか?

Read-Copy-Update に関するウィキペディアの記事から:

削除フェーズをリーダーと同時に実行しても安全である理由は、最新の CPU のセマンティクスにより、部分的に更新された参照ではなく、古いバージョンまたは新しいバージョンのデータ構造がリーダーに表示されることが保証されているためです。

これは最新のすべての CPU (ARM、x86、PPC など) に当てはまりますか? 今後変更される可能性はありますか?古い値を再び取得する可能性を気にしない限り、ロックされたロードを実行するコストを支払う必要がないことは非常に素晴らしいようです (これはおそらく多くのアプリケーションにとって問題ではありません-基本的に使用できるすべてのアプリにとって)読み取り-コピー-更新)。

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

svn - Subversion でのアトミック コミットの価値は何ですか?

バージョン管理のベスト プラクティスを作成して従おうとしていますが、Subversion のアトミック コミットへの参照に出会いました。このアクションについて聞いたことがないので、いくつか質問があります。

  • その目的は何ですか?
  • いつ使用する必要がありますか?
  • 通常のコミットとどう違うのですか?
  • TortoiseSVNユーザーは利用できますか? もしそうなら、どのように?