問題タブ [resource-cleanup]

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

c# - ウィンドウを閉じるときにViewModel内のすべてのアイテムをクリーンアップします

ウィンドウを使用してRichBoxバインドし、List<String>ListNameこのリストにいくつかの項目を追加しましたが、このウィンドウを閉じて開いた後も、古い追加名が残っています。View モデルは破棄されません。ウィンドウを閉じますが、閉じるときにこれを使用します

しかし、これは値のみを消去Messengerし、他のすべてのアイテムを値で許可します。ウィンドウを閉じるときに、このViewModelのすべてのリソースを消去したい

アップデート :

ルディの答えで私はするために閉じることを試みます

それは機能しますが、VMの登録を解除して再度登録するのは私には正しくないようです!

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

gdb - xemacs gdb cleanups.c:264: 内部エラー: restore_my_cleanups: アサーション '*pmy_chain == SENTINEL_CLEANUP' が失敗しました

Xemacs バージョン 21.4.21 で GDB バージョン 7.6.50.20130508-cvs (cygwin-special) を実行しようとしましたが、次のエラーが発生します。

GDB 自体は、Cygwin 上で正常に動作します。Cygwin 端末で、次のことを行いました。

実行可能ファイルを取得し、書きました

その後

そしてそれは完璧に機能しました。私はそれからやった

バージョンはxemacsで使用されているgdbと同じであることが判明したため、エラーはgdbの問題ではなく、gdbとxemacsの相互作用に関連しているように見えますか?

一部の人々が同じ、または同様の問題を抱えていることがわかりました。

http://old.nabble.com/-RFA--dangling-cleanup-in-find_frame_funname-td35521450.html

何か案は?前もって感謝します!

また、cleanups.c ファイルがどこにあるか知っている人はいますか? netrelフォルダーさえ見つかりません(Cygwin の / フォルダーにはありません)。

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

c++ - LoadLibrary - C++ での CleanUp の修正

C++ Visual Studio 2012 には、cygwin でビルドされた dll ファイルから静的関数を呼び出すためのこの小さなコードがあり、以下のこのコードは完全に機能します。問題は、関数呼び出しでクラッシュするか、通常どおり結果値をコンソールに出力することがありますが、Visual Studio のデバッガーが前進していないことです。奇妙な振る舞い。アプリケーションを終了した後、正しくクリーンアップしていないのではないでしょうか? 初めてVSをロードすると動作しますが、デバッグとクラッシュの後、これが発生し始めます。

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

three.js - ページの更新時に three.js (または WebGL) をクリーンアップする方法

かなりの数のマテリアル、シーン、レンダー バッファーなどを使用するかなり大規模な three.js アプリケーションがあります。数回しか更新/再起動できず、いくつかの問題のうちの 1 つで失敗します。そのすべてが WebGL リソースの不足につながりました。

window.onbeforeunload にクリーンアップ ルーチンを追加しました。これは、それをサポートするオブジェクトで dispose() メソッドを呼び出します。マテリアル、renderBuffers、およびジオメトリ。すべてのリソースを取得したとは確信していません。でも、30 分間は 5 秒ごとにリフレッシュできたので、それで十分だったようです。

質問は次のとおりです。[1]そのようなクリーンアップをトリガーする最良の方法は何ですか? window.onbeforeunload は非常に効果的だと思われますが、代替手段を選択する理由があるのでしょうか?

[2]そのようなクリーンアップを実行する最良の方法は何ですか? すべての WebGL リソースをクリーンアップするレンダラーを破棄するとよいでしょう。(ブラウザはそれらをクリーンアップできるように見えるので、javascript オブジェクトについては心配していません。)

ここで関連する質問を見てきました。たとえば、シーンのクリーンアップですが、完全なクリーンアップに興味があります。下位の WebGL レベルでの回答は、このグローバル クリーンアップでも機能すると思います。これらの小さなクリーンアップの範囲を理解できないため、一部の three.js リソースだけではない可能性があります。

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

python - モジュール スコープ変数の参照がインタープリターによって解放されるのはいつですか?

私が持っているユーティリティ モジュールにクリーンアップ ルーチンを実装しようとしています。問題の解決策を探し回った結果、最終的にweakrefコールバックを使用してクリーンアップを行うことにしました。ただし、同じモジュール内からオブジェクトへの強い参照が原因で、期待どおりに機能しないことが懸念されます。説明する:

foo_lib.py

次に、他のクラスが を参照しfoo_lib.fooます。1.5.1 の古いドキュメントを見つけましたが、これは私の懸念事項 ( http://www.python.org/doc/essays/cleanup/ ) を参照しているようなものですが、完全に快適にfooなるものは何もなく、次のような方法でリリースされる予定です。コールバックは確実にトリガーされます。この質問を解決してくれるドキュメントを教えてくれる人はいますか?

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

java - Closeable クラスで close() を自動的に呼び出せないのはなぜですか?

理解できない。たとえば、コードに OutputStream 型の変数があり、使用を停止するときに close() を呼び出す必要があります。なぜこのように実装されなかったのか: GC は、クリーンアップを行うときに close() 自体を呼び出します。この変数?

更新: OK これまでに結論付けたこと: 管理されていないリソースを解放することは、メモリを解放することだけではありません。さらに重要なことは、その背後にある内部動作ではないことです。このリソースの量に制限が存在する可能性があります (接続数/ハンドラ) そのため、できるだけ早く解放する必要があります。私は正しいですか?すべてがメモリに関するものである場合、管理されたリソースの場合と同じように GC がジョブを実行できない理由がわからないからです。

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

visual-studio - Visual Studio + Qt cleaning of generated files

When I press "Clean Solution" in Visual Studio 2008 for a Qt project all moc and ui header files from generatedfiles folder are cleaned.
I have one more my own generated *.h file in this folder, how to delete it too?
Where moc and ui headers file are deleted? I can't find any setting, with a option to add custom file except "Extension to Delete on Clean". But there is nothing about "generatedfiles".

And Project->Properties->Configuration Properties->General->Extensions to Delete on Clean can't be used in this case, because it ignores paths and recognize only extensions or file names.

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

java - スレッド プール - タスクごとに新しいプールを作成し、一連のタスクが完了したことを検出します

ThreadPoolExecutors を介して並行タスクを実行します。実行するタスクのセットが 2 ~ 3 あるため、現時点ではThreadPoolExecutorsのマップがあり、一連のタスクをそれらの 1 つに送信できます。

ここで、プールに割り当てられたすべてのタスクがいつ完了したかを知りたいと考えています。その整理方法は、タスクのリストを事前に知っているので、それらを新しく構築されたプールに送信し、プーリング/追跡を開始して、すべてがいつ完了したかを知るように計画します。

1 つの方法として、1 ~ 2 スレッドの別のプールを用意し、他のプールをポーリングしてキューが空になったことを確認します。いくつかのスキャンでそれらが空であると表示された場合 (ポーリングの間に 2 回目のスリープがあり、スキャンが完了したと見なされます)。

別の方法は、クラスをサブクラスThreadPoolExecutor化し、キューを介してトラックを追跡し、リディングを上書きすることafterExecute(Runnable r, Throwable t)です。これにより、各タスクがいつ完了したかを正確に知ることができます。ステータスを表示し、すべてがスムーズに進んでいる場合はすべてが完了したことを知ることができます。

2番目の実装はどこにありますか? リスナーが実装できるインターフェースを用意し、それらをサブクラス化されたメソッドに追加するとよいでしょう。


また、実装を探しています:

  1. タイムアウト内にプールをシャットダウンするように要求するには、

  2. タイムアウトしてもシャットダウンが完了しない場合は、shutdownNow()

  3. これが失敗した場合は、スレッド ファクトリを取得し、そのグループ内のすべてのスレッドを停止します。(ファクトリを設定し、グループまたは他の方法を使用してすべてのスレッドへの参照を取得すると仮定します)

基本的に、プールをクリーンアップして、これをアプリ コンテナーで実行できるようにするための、できる限り確実な方法です。一部のタスクはセレンなどを呼び出すため、スレッドがハングする可能性があります。

最後の溝は、コンテナー (tomcat/jboss) を再起動することですが、それを最後の溝にしたいと考えています。

質問は - これまたは開始するコードのオープン ソース実装を知っていますか?