問題タブ [reentrancy]

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

c++ - 信号をキャッチしてユーザーに問題を報告するポータブルな方法

なんらかの奇跡によってプログラムでセグメンテーション違反が発生した場合、SIGSEGVをキャッチし、ユーザー(おそらくGUIクライアント)に重大な問題が発生したことを単一のリターンコードで知らせたいと思います。同時に、どの信号がキャッチされたかを示す情報をコマンドラインに表示したいと思います。

今日、シグナルハンドラは次のようになります。

このスレッドから、シグナルハンドラーから非リエントラント関数を呼び出すのは悪であると読んだので、上記の恐怖の叫び声を聞くことができます。

信号を処理してユーザーに情報を提供するためのポータブルな方法はありますか?

編集:または少なくともPOSIXフレームワーク内で移植可能ですか?

0 投票する
8 に答える
38393 参照

language-agnostic - Cの再入可能関数と再帰関数の違いは何ですか?

CI では再帰関数については知っていますが、再入可能関数については聞いたことがあります。

それは何ですか?そして、それらの違いは何ですか?

0 投票する
9 に答える
4684 参照

c# - 再入を防ぐために関数に属性を追加できますか?

現時点では、次のような関数がいくつかあります。

次のように宣言できるようにしたいと思います。

再入を防ぐために関数に追加できる属性はありますか? そうでない場合、どのように作成しますか?関数呼び出しの前後にコードを追加するために使用できる AOP 属性について聞いたことがあります。彼らは適切でしょうか?

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

multithreading - コードの再入可能性とスレッド セーフ

「コードの再入可能性」「スレッドセーフ」の概念の違いは何ですか? 以下のリンクに従って、コードの一部は、それらのいずれか、両方、またはどちらでもない可能性があります。

再入可能でスレッドセーフなコード

説明がはっきりと理解できませんでした。助けていただければ幸いです。

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

compact-framework - .NET CF 2.0: シングルスレッドの再入可能性

簡単なアプリケーションは CF 2.0 で書かれています。私に関する限り、それはシングルスレッドです。

アプリケーションの 2 つの部分が重要です。PDA のバーコード スキャナー (メーカー提供) を表すクラスによって発生した "バーコード スキャン" イベントを処理するイベント ハンドラーと、30 秒ごとに実行される Windows.Forms.Timer のイベント ハンドラーです。

最近、アプリケーションがバグに悩まされていました。私が見ることができる唯一の理由は、Timer_Tick イベントの途中で Barcode Scanned イベントを処理していることです。これは不可能であり、最初のイベントが完全に処理されるまで、イベントの 1 つがキューで待機することは確実でした。MSDN の Windows.Forms.Timer ページも、それが通常のシングルスレッド タイマーであることを保証します。Barcode Scanned によってトリガーされたコードは、インターフェースの一部を変更しますが、例外は発生しません。そのため、シングルスレッドでもあると想定しています。いいえ、DoEvents などは使用していません。

そのような再入可能性は不可能であり、他の考えられる理由をもっと詳しく調べる必要がある、またはその逆で、彼らが同じ問題に苦しんでいると確信できる人はいますか?

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

.net - リエントラントが検出されました

Web ブラウザー コントロールのプロパティを設定しているときに、「再入可能性が検出されました」という MDA エラーが発生します。これは、「SetWindowsHookEx」を呼び出して、同じスレッド内でいくつかのダイヤルをフックした場合にのみ発生します。

通常、このフック コードは問題なく動作しますが、Web ブラウザー コントロールではうまく動作しません。例外コードを無視すると、少なくとも問題ないように見えますが、明らかに少し心配です。

このエラーが正確に発生する理由と、問題を解決する方法はありますか。

MSDN でこの記事を見たことがあります - http://msdn.microsoft.com/en-us/library/ms172237.aspxしかし、実際には役に立ちません。

0 投票する
3 に答える
47017 参照

c - スレッドセーフと再入可能

最近、 「mallocスレッドは安全ですか?」というタイトルで質問しました。、そしてその中で私は「mallocはリエントラントですか?」と尋ねました。

私は、すべての再入可能性がスレッドセーフであるという印象を受けました。

この仮定は間違っていますか?

0 投票する
5 に答える
1386 参照

java - リエントラントロック

少し助けてください、以下のコードを少し考えてみてください。

LoggingWidgetのdoSomething()が呼び出されると、JVMは最初にLoggingWidgetのロックを取得し、次にWidgetのロックを取得しようとすることを読みました。

その理由を知りたいです。これは、doSomething()がsuper.doSomething()を呼び出すことをJVMが認識しているためか、サブクラスメソッドを呼び出すと常にスーパークラスのロックも取得されるためです。

乾杯

0 投票する
4 に答える
2589 参照

c++ - この関数はリエントラントですか?

この関数はグローバル変数を使用しないため、リエントラントだと思います。引数を変更するだけです。

私の質問は:この関数はリエントラントですか?もしそうなら、私の議論は十分に良いですか?

前もって感謝します