-
Notifications
You must be signed in to change notification settings - Fork 592
Open
Description
集成4.16.3版本
线程替换后,有build日志输出,build文件里也有替换的包。
但是实际监控线程发现根本没有被替换。只是改名而已。
查看替换线程的代码。发现里面的替换逻辑是名字,并不是线程。
// Timer(String)
"(Ljava/lang/String;)V" -> {
method.instructions.apply {
// ..., name => ..., name, prefix
insertBefore(init, LdcInsnNode(makeThreadName(klass.className)))
// ..., name, prefix => ..., name
insertBefore(init, MethodInsnNode(Opcodes.INVOKESTATIC, SHADOW_THREAD, "makeThreadName", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", false))
}
}
执行了以后实际的线程的类在哪里创建的还是在哪里创建,所以在监控平台上看线程数量和线程名,以及线程状态都没有被优化。
Metadata
Metadata
Assignees
Labels
No labels