問題タブ [concurrency]
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.
java - ハートビートを検出するこの方法はスレッドセーフで一貫性がありますか?
この質問は、2つのブログ投稿( http://dow.ngra.de/2008/10/27/when-systemcurrenttimemillis-is-too-slow/、http://dow.ngra.de/2008/10)で議論されています。 / 28 / what-do-we-really-know-about-non-blocking-concurrency-in-java /)、しかし私はまだ決定的な答えを聞いていません。これを行うスレッドが1つある場合:
そして、以下を実行する多くのクライアント:
スレッドセーフかどうか?
c# - 複数の PC で C# プログラムを並列化する最も簡単な方法は何ですか?
家には使っていないパソコンがたくさんあります。それらを利用して、コードをほとんどまたはまったく変更せずに C# プログラムを並列化する最も簡単な方法は何ですか?
私がやろうとしているタスクには、多くの英語の文をループすることが含まれます。データセットは簡単に小さなチャンクに分割でき、異なるマシンで同時に処理できます。
garbage-collection - 並行ガベージコレクタを備えた関数型言語?
Microsoft の新しい F# プログラミング言語は、関数型プログラミング (ファーストクラスのレキシカル クロージャーとテール コール) と、マルチコアの活用を容易にする効率的な同時実行ガベージ コレクターの強力な組み合わせを提供します。
OCaml、Haskell、Erlang、および私が知っているすべての無料の Lisp と Scheme の実装には、同時 GC がありません。Scala と Clojure には並行 GC がありますが、テール コールはありません。
したがって、これらの機能を組み合わせたオープンソースのプログラミング言語はないようです。あれは正しいですか?
java - タイムアウトした FutureTask の処理
Javaで次のようなことをするとしましょう:
私の質問は、TimeoutException がスローされた場合に RemoteResponse に何かが保持されますか? ガベージコレクションされますか?そのためには、タスクで cancel() メソッドを呼び出す必要がありますか?
database - Djangoでの不可分操作?
私は(私が思うに)カウンター用の非常に単純なデータモデルを実装しようとしています:
誰かがやってくると、visitTypeとvisitDateに一致する行を探します。この行が存在しない場合は、counter=0で作成されます。
次に、カウンターをインクリメントして保存します。
私の懸念は、このプロセスが完全に人種であるということです。2つのリクエストが同時にエンティティが存在するかどうかを確認し、両方がエンティティを作成する可能性があります。カウンターを読み取ってから結果を保存するまでの間に、別の要求が発生してそれをインクリメントする可能性があります(結果としてカウントが失われます)。
これまでのところ、Djangoのドキュメントでもチュートリアルでも、これを回避する良い方法は見つかりませんでした(実際、チュートリアルの投票部分に競合状態があるようです)。
これを安全に行うにはどうすればよいですか?
java - Java volatile 参照と AtomicReference の比較
volatile
Object 参照と、と-methods from をAtomicReference
使用する場合との間に違いはありますか?get()
set()
AtomicReference
producer-consumer - プロデューサーが完了したときにコンシューマーに通知する
データベース内のそれぞれのレコードと比較する必要があるldapから多くのデータを読み込んでいます。SQL クエリの数を最小限に抑えるために、複数の LDAP レコードを 1 つのクエリにバッチ処理したいと考えています。
これはすべて非常に単純です。LDAP の結果を生成するスレッドと、それらの結果を使用して SQL クエリを実行するスレッドです。
問題は次のとおりです。ldap が返す結果が 3 つだけで、結果buffer_size
が 5 の場合、永久にブロックされてしまいます。None
、 またはなどの特別なトークンをバッファに入れることができることは"EOF"
わかっていますが、それは悪い設計のように思えます。
私は2つの代替案を思いつきました。1つ目は共有eof
変数を持つことですが、それを適切に同期する方法がわかりません。
2 つ目はProduceChunks(chunk_size)
プロデューサー用のメソッドを用意することで、結果のバッチ処理を処理しますが、私はそれが好きではありません。消費者の責任です。
誰にもガイダンスはありますか?
.net - .NET には、Java の ConcurrentHashMap と同等の Dictionary 実装がありますか?
Java API を知らない .NET 専門家のために要約すると、次のようになります。
Java のConcurrentHashMapには、次のような一般的な Map 変更操作のためのアトミック メソッド (つまり、外部ロックを必要としない) があります。
また、ロックせずにキーセットを反復処理することもでき (反復の開始時にコピーが取得されます)、get()
操作は通常、ブロックせずに への呼び出しとインターリーブできますput()
(細かい粒度のロック ストライピングIIRCを使用します)。
とにかく、私の質問は次のとおりです。.NET には同等の Dictionary 実装がありますか?
より一般的には、.NET にスレッド セーフなコレクション ライブラリのより一般的なセットがあるかどうか知りたいと思います。または一般的な同時実行ユーティリティ - Doug Leaのjava.util.concurrent
ライブラリに相当します。
concurrency - メモリーフェンスとは?
明示的なメモリ フェンスを使用するとはどういう意味ですか?
java - Jetlang PoolFiber サンプル
私はjetlangから始めましたが、基本的なサンプルは非常に明確です。私が見つけられなかったのは、PoolFiber を使用するための良いサンプルです。誰かがすでにそれをいじっていますか?retlang のサンプルも読みましたが、少し違うようです。
あなたの考えを共有してくれてありがとう!
大神