いくつかの情報:私はいくつかのデバイスを制御するプログラムを書く必要があります(これは基本的な機能です)。しかし、私は他のカスタム機能を有効にするためにプラグインシステムを作成する必要があります。私はそれらのプラグインのソースの品質を制御する方法がないので、私はロードされたプラグインごとにスレッドを作成し、それからそれ自身のメインループを実行すると考えました。私は標準的なC++の例外をキャッチすることができますが、問題はどのようにシグナルを処理するのか分かりません。最良の方法は、プラグインのスレッドを非同期的にキャンセルして、クリーンアップしてリソースを解放するか、単に彼を殺すチャンスを与えるが、どのスレッドが現在の信号を引き起こすかを知る方法を知らないことです。何かの変数に現在実行されているスレッド情報を保存して明示的に保存せずにこれを行う方法はありますか?またはこれは完全に悪い考えで、私は別のプロセスを作成し、プラグインを実行する必要がありますか?SIGSEGVを引き起こすスレッドを殺す
0
A
答えて
0
はい、これはまったく悪い考えです。スレッドは協調的なものであり、ほぼすべてを共有し、分離を提供しないモデルをプログラミングします。この仕事には間違ったツールです。
0
私は伝統的なプロセスを使用して、完全な分離と通信のためのIPCメカニズムを使用します。
関連する問題
- 1. OOMを引き起こすスレッドのスタックトレース
- 2. スレッドを殺すこと
- 3. SIGSEGVを捕まえて、シグナルハンドラが別のSIGSEGVを引き起こすとどうなりますか?
- 4. スレッドを殺す
- 5. malloc()はどのようにSIGSEGVを引き起こしますか?
- 6. ASP.NETスレッドを殺す
- 7. ProgrammingErrorを引き起こすipdb、複数のスレッドと自動ロードプログラム
- 8. POSIXスレッドとSIGSEGV
- 9. Javaのスレッドを殺すandroid
- 10. Javaのスレッドを殺す
- 11. これまでにない最も奇妙なバグ - int定義はsigsegvを引き起こします。スタックオーバーフロー?
- 12. CannotUnloadAppDomainExceptionを引き起こす原因となるスレッドを見つける
- 13. Observable.TimerのInvokeCommandがスレッド間の問題を引き起こします
- 14. 投げる例外はOSX 10.11.4にSIGSEGVを引き起こし+打ち鳴らす
- 15. OutOfMemoryExceptionを引き起こすDrawImage
- 16. OpenGL glutInit():セグメンテーションフォールトを引き起こすXOpenDisplay()
- 17. BadTokenExceptionを引き起こすTooltipCompat
- 18. バッシュ:エイリアス問題を引き起こす
- 19. SwingWorkerエラーを引き起こす方法
- 20. はランタイムクラッシュを引き起こします。
- 21. WPF DropShadowEffect Blurrinessを引き起こす
- 22. タイムアウトを引き起こすSQL文
- 23. pthread_mutex_lockがデッドロックを引き起こす
- 24. setTimeoutがポップアップブロックを引き起こす
- 25. NullPointerExceptionを引き起こすフラグメントのレルム
- 26. JSorterエラーを引き起こすTablesorterプラグイン
- 27. パンダグループがキーエラーを引き起こす
- 28. セグメンテーションフォールトを引き起こす "fread"関数
- 29. セグメンテーションフォールトを引き起こす文字列
- 30. AsyncTask NoClassDefFoundErrorを引き起こす