問題タブ [pool]
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.
c++ - ブーストプールのマップ?
基本的に、メモリ管理を集中化しようとする試みは非常に弱いものです。とにかく、boost::pool は特定のサイズのチャンクを使用します。
私の最初のアイデアは、new と delete をオーバーロードし、サイズをシングルトンに渡して、対応するブースト プールに移動し、そこから割り当てることでした。
とにかく、MSVC9 で次のエラーが表示されるため、ブースト プールのマップを取得できないようです。
なぜこれが起こるのでしょうか?
編集
私はそれを解決しました。問題を解決するshared_ptrでラップするだけになりました。
何かを示すために、私はもう [] を使用しませんが、それでもこのエラーが発生します。
std::make_pair と関係があると思いますか?
スマート ポインターをラップする Etherway は正常に動作しますが、これはブースト プールに含める必要がありますか?
collision-detection - ビリヤード (プール) ゲームで軌道を事前に計算する方法は?
ビリヤードのほとんどの衝突検出アルゴリズムは単純なアプローチを使用しており、ボールの位置がインクリメントされてから衝突がチェックされます。衝突を「スキップ」する可能性があるため、速度が非常に高い場合、この方法はうまく機能しません。
ビリヤード ゲームでボールの軌道を事前に計算する方法を探しています。軌跡がわかったら、動きが止まるまでボールをアニメートします。衝突は数学的に検出され、解決されるため、速度について心配する必要はありません。
誰かがそれをしたかどうか知っていますか?車輪の再発明はしたくありません。ありがとうございました。
java - 特定のアプリケーションに対して複数の SingleThreadExecutors を使用する...良いアイデアですか?
この質問は、SingleThreadExecutor(JDK 1.6) を使用した場合の影響に関するものです。関連する質問がこのフォーラムで以前に尋ねられ、回答されましたが、私が直面している状況は少し異なると思います.
アプリケーションのさまざまなコンポーネント (コンポーネント C1、C2、C3 などと呼びましょう) は、(アウトバウンド) メッセージを生成します。ほとんどの場合、他のコンポーネントから受信したメッセージ (インバウンド) に応答します。これらの送信メッセージは、通常はArrayBlockingQueueインスタンスであるキューに保持されます - おそらくかなり標準的な方法です。ただし、送信メッセージは追加された順序で処理する必要があります。SingleThreadExectorここでは a の使用が明らかな答えだと思います。最終的には 1 対 1 の状況、つまり1 つのキュー ( 1 つのコンポーネントから発信されるメッセージ専用)SingleThreadExecutorに対して1 つになります。
ここで、コンポーネント (C1、C2、C3...) の数は、特定の時点では不明です。それらはユーザーの必要に応じて存在します (最終的には破棄されます)。ピーク負荷時の 200 ~ 300 個のコンポーネントについて話しています。上記の 1:1 設計原則に従って、200SingleThreadExecutor秒を配置します。これが私のクエリのソースです。
非常に多くのSingleThreadExecutorを作成しなければならないという考えに不快感を覚えます。私はむしろSingleThreadExecutorのプールを試して使用したいと思います. ここでの推奨される使用法に関する多くの投稿を読みましたSingleThreadExecutorが、同じプールはどうですか?
ここにいる学識のある女性と男性は何を考えていますか?私は指示、修正、または単に忠告されたいです:-)。
web-services - WCFとスレッド化を伴うタスク
WCFを使用していくつかのWebサービスを作成したいと思います。
Webサービスに「スレッドプール」が必要です。たとえば、操作する必要のあるデータが6GB近くあります。
クライアントにWebサービスの操作を呼び出して、新しいタスクまたはスレッドを作成してもらいたいです。クライアントはListRunningTasks();を呼び出すことができます。Webサービスにタスクのリストを返してもらいます。KillTask(int taskID)のように時間がかかりすぎる場合、クライアントはタスクを強制的に強制終了できる必要があります。か何か。以前にいくつかのスレッド化を実行しましたが、WCFまたは状態のないサービスの内部では実行していません。これは可能ですか?もしそうなら、どのようにそのようなことを実装するのですか?どんな読書、リンクまたは提案も素晴らしいでしょう。
ありがとう、マイク。
c++ - 1 つの大きなプールですか、それとも複数のタイプ固有のプールですか?
私は高性能を必要とするビデオ ゲームに取り組んでいるので、適切なメモリ戦略またはゲームの特定の部分、ゲームの「モデル」である部分、ゲーム表現をセットアップしようとしています。
ゲームのルールに従って、表現の一貫性を保つために内部にさまざまなマネージャーを含む、ゲーム全体の表現を含むオブジェクトがあります。現在、すべてのゲーム エンティティはタイプ固有のファクトリによって生成されているため、これらのエンティティのメモリ管理を必要に応じて分離および変更できるいくつかのファクトリがあります。
現在、私はこれら 2 つの選択肢のどちらかを選択しています。
- タイプごとにメモリプールを用意する:オブジェクトプールは割り当てられたオブジェクトのサイズをすでに知っているため、非常に高速な割り当て/割り当て解除と最小限の断片化が可能になります。私を悩ませていることの1つは、そのような複数のプールを別々に持つことです。これにより、他のソリューションがより効率的になる可能性があります...
- 1 つのゲーム表現のすべてのファクトリで 1 つの大きなメモリ プールを共有する: (boost::pool のようなものをいくつかのアダプタ関数と共に使用) そうすれば、すべてのゲーム オブジェクト メモリが一緒に割り当てられ、ゲームに 1 ビットの割り当てを持つことができます。合計サイズはすでにわかっています (常にそうとは限りません)。同じプール内に異なるサイズのオブジェクトが存在するため、プール内で断片化が発生する可能性があるため、A よりも優れたソリューションであるかどうかはわかりませんが、メモリ分析やその他の問題の修正にはより簡単なようです。
今、私は A でいくつかの実世界の経験があったので、B の経験がなく、長期的なプロジェクトのために、これらのソリューションに関するアドバイスが欲しいです。長期プロジェクトに適していると思われるソリューションはどれですか? またその理由は? (注: この場合、ゲームモデルがゲーム編集にも使用されるため、プールが本当に必要です。そのため、小さなオブジェクトの割り当て/割り当て解除が大量に発生します)。
明確にするために編集:私はC++ ifを使用しています(まだ明確ではありません)
wcf - WCFのパフォーマンス:ConnectionPoolingのようにオブジェクトのプールを作成できますか
かなり高価なオブジェクトを使用して作成するサービスがあります。通話ごとにパフォーマンスを向上させたい。
オブジェクトを削除して負荷テストを実行すると、1秒間に実行できる呼び出しの数など、状況によってパフォーマンスに大きな違いが生じます。
状況1.高価なオブジェクトを削除します:1秒あたりの呼び出し数〜=130。状況2.オブジェクトで通常どおり使用します:レートは1秒あたり〜=2です。
IIS2008サーバーでホストされている.NETWCFサービスがあります。
オブジェクトキャッシュ/プールを作成し、それらのオブジェクトをサービスの各呼び出しに渡す方法があるかどうか疑問に思いました。
この状況を助けるかもしれない考え/コメントはありますか?
python - いずれかのスレッドで例外が発生すると、マルチプロセッシング プールがハングする
私は Python が初めてで、multiprocessing.pool プログラムを使用してファイルを処理しようとしていますが、例外がない限り問題なく動作します。スレッド/プロセスのいずれかが例外を取得した場合、プログラム全体がスレッドを待機します
コードのスニペット:
失敗メッセージ:
プロセスを終了するために例外ハンドラを追加しました
しかし、まだ待っています。何が欠けているのかわかりません。
jdbc - Weblogic で接続プールへのアクセスを制限しますか?
要するに、アプリケーション名または JAR 名に基づいて接続プール X へのアクセスを制限するにはどうすればよいですか? 簡単なユースケースが役立つかもしれません...
ビジネス Web アプリ (WEB_APP_A と呼びます) は、プール Y を使用して基本的なルックアップ SQL を実行します。この Web アプリの一部のユーザーは、データベース内の機密データの更新にもアクセスできます。このコードは、必要な場所にドロップできる JAR ファイル (HR_JAR と呼びます) によって提供されます。この JAR は、すべての接続にプール X を使用します。
WEB_APP_A の開発者がプール X を使用することは望ましくありません。プール X を使用する HR_JAR のみが必要です。これは、WEB_APP_A の開発者が X が提供するアクセス プールを誤ってまたは意図的に悪用するのを防ぐためです。
いくつかの考慮事項:
- これはレガシー コードであるため、HR_JAR がそのまま使用されます。
- Weblogic 9.2で実行しています
- ソースコードからパスワードを保持することはできません
- JDBC リソースの weblogic ユーザー レベルの認証/認証を調査しましたが、これには疑問があります。アプリ/jarごとにユーザーになるために使用するユーザーの資格情報をどのように保護しますか?
アイデア?考え?私が試したことについて詳しく説明することはできますが、新鮮なアイデアが必要でした.
java - Java EEアプリ用の「ソケット接続プール」はありますか?
JAX-RSWebサービスを作成しています。クライアントの呼び出しに次のように応答します。
- データベースから一部の情報を取得する
- 外部サーバーに電話をかける
2)の場合、サーバーはWebサービスインターフェースを公開しません(つまり、WSDLインターフェースまたはREST APIは公開しません)。代わりに、TCPIPを介したカスタムプロトコルを使用します。JAX-RSリソースからこのサーバーに直接クライアント呼び出しを行いたいのですが、JAX-RSリソースへの呼び出しごとに接続を開き、認証し、接続を閉じる必要はありません。これを回避する方法はありますか?言い換えれば、Java EEアプリで利用できる「ソケット接続プール」のようなものはありますか?ESBのようなものを使用する必要がありますか?または私が見落としている代替案はありますか?
security - スレッド プール スタックのセキュリティの問題
スレッド プールの単純な実装では、実行中のコードの一部は、スタック上の以前のコードによって残されたデータを読み取ることができますか (同じスレッド インスタンスで実行されていた場合)。また、スレッド プールに関連するその他の固有のセキュリティ問題はありますか?