2016-11-09 6 views

答えて

1

MethodEntryコールバックは、他の多くのJVMTIのイベントコールバックのように、このイベントを発生させたアプリケーションスレッド上で同期的に実行されています。アプリケーションが複数のスレッドを実行する場合、MethodEntryコールバックがこれらのスレッドで同時に実行される可能性があります。イベントはキューに入れられません。

JVMTI仕様Eventsセクションを参照してください。

+0

***アプリケーションスレッドが1つしかない場合***ですが、コールバックは多くのことをします(時間がかかります)。この機会に***スレッドは1つしかありません***、***複数のスレッド***コールバックを同期してアプリケーションスレッド上で実行する必要がありますか? –

+0

@cainiaofeiいいえ、コールバックはアプリケーションコードと同じスレッドで実行されます。アプリケーションの観点からは、コールバックの進行中にスレッドが停止します。 – apangin

+0

つまり、**すべての** MethodEntryイベント**は同じ* oneスレッドによって処理されますか?私はちょっと混乱しています。私のプログラムの出力を通して、それは複数のスレッドによって処理されていると思います。 –

関連する問題