問題タブ [ets]
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.
r - Shiny を使用した ETS モデル
新しい RStudio 機能Shinyを使用して Web アプリケーションを作成しようとしています。ETS 状態空間モデルを試しています。モデル タイプを手動で指定したい ( server.R の太字のテキスト)。server.R で引用符内に入力を与えています。引用符内で iputs を指定すると、かかりません。手伝っていただけませんか...
ui.R
サーバー.R
erlang - erlang ets BIF 実装 ets_new_2 なぜこれを行うのですか?
R16B02 erl_db.c:1272
私のクズ。なぜこれを行うのですか?init_tb は common.memory_size フィールドを使用するだけです。int 置換を使用しないのはなぜですか?
erlang - ErlangでETS状態のスレッドセーフを達成する方法は?
サブプロセス (それぞれが接続) を持つ Erlang で接続プール プロセスを作成しました。接続プーリング プロセス (スーパーバイザー) は、すべての子サブプロセスの状態を保持する必要があります。たとえば、サブプロセスをリクエスターにリースできるかどうかを示すフラグなどです。この状態は ETS テーブルに保存されます。
プールマスター :
- 接続手順 1
- 接続プロセス 2
- 接続プロセス 3
クライアントが POOL-MASTER への接続を要求するとき、ETS を見て状態を取得することで、どの接続プロセスが利用可能かを見つけなければなりません。このフェーズは「get-lease」と呼ばれます。その後、状態が更新されます。同様に、クライアントが接続をプールに返すとき、次のクライアントが利用できるように項目にフラグを立てる「 return-lease 」関数を使用します。
「 get-leaseとreturn-lease」の上の関数をスレッドセーフにしたい。つまり、クライアントがこれらの関数を同時に使用していないことを確認したいのです。そうしないと、接続の状態が混在する可能性があります (2 つのクライアントが同じ接続を取得します)。Java では、この目的のために同期メソッドが使用されます。
これを達成するためにerlangでできることはありますか? たとえば、ETS テーブルである種のロック メカニズムを使用してから、ロックを解放しますか? または、ロック/ロック解除する特定の機能を処理し、このプロセスにメッセージを送信する単一のプロセスを作成して、これを行う必要があります (メッセージングがシングルスレッドであると仮定します) ?
erlang - Erlang で ETS 関数が正しく動作しない
ets の新しい関数は、atom の代わりに整数を返します
erlang - ets は、インクリメント操作のように、更新と読み取りを一度に行う手段を提供しますか?
標準のカウボーイ Web 処理ルーチンを設定する前に、 start(_StartType, _StartArgs) ->関数で名前付き ets テーブルを初期化します。
ets:new( req_stats ,[named_table,public]),ets:insert(req_stats,{ req_count ,0})
私はこの機能を持っています:
私の懸念はこれです。
[{_,Cnt}]=ets:lookup(req_stats,req_count)が戻る前に数回更新される可能性があるため、高負荷の下で各 Web リクエストに対して count_req() を呼び出すと、不正確なカウントになる可能性が高くなります。カウント+1
ets は、インクリメント操作のように、更新と読み取りを一度に行う手段を提供しますか?
ありがとう。
erlang - Erlangのordered_setストア用語を逆に
私は単にetsのordered_setタイプを使いたいだけです。
しかし、私が入れた用語は、1、2、3、4 のように、Erlang の用語ソートで保存されます...
Erlang 用語を 4、3、2、1 のように逆順に格納する方法
erlang - etsバッグのデータを更新するには?
ets:insert を使用して ets セット内のデータを更新できますが、バッグはどうでしょうか? 最初に match_delete または select_delete で更新してから挿入する必要がありますか?