1
我注册一个JVMTI Event
MethodEntry其回调函数是 tdMethodEntry
,如果有很多很多MethodEntry活动,我的问题是,同一种JVMTI EVENT由同一个线程处理?
这些活动将通过队列中的同一个线程来处理?或由多个线程处理?
我注册一个JVMTI Event
MethodEntry其回调函数是 tdMethodEntry
,如果有很多很多MethodEntry活动,我的问题是,同一种JVMTI EVENT由同一个线程处理?
这些活动将通过队列中的同一个线程来处理?或由多个线程处理?
MethodEntry
回调,像许多其他JVMTI事件回调,同步导致此事件的应用程序线程上执行。如果应用程序运行多个线程,则MethodEntry
回调可以在这些线程上并发运行。事件不排队。
参见JVMTI规格Events部分。
如果只有一个应用程序线程***,但回调执行很多操作(耗费大量时间)。在这种情况下,虽然***只有一个线程***,应该有***多个线程***运行回调在应用程序线程上同步执行? –
@cainiaofei不,回调与应用程序代码在同一个线程上运行。从应用程序角度来看,线程在进行回调时停止。 – apangin
也就是说所有** MethodEntry事件**由相同的*一个*线程处理?我有点困惑,因为通过我的程序输出,我认为它是由多个线程处理的。 –