首页 > 代码库 > GC笔记--Native线程
GC笔记--Native线程
Native线程不能直接Access对象的引用,因此整个native线程是GC安全区域(GC safe region),GC发生时native线程可以继续执行。
但是,一旦Native线程调用VM接口,Native线程就需要切换状态,切换成非GC安全。
比如调用Java的JNI接口,Native线程首先尝试切换成Runable态。切换时,检查是否已发生GC。如果已经在GC,等待GC完成;如果没有GC,成功切换为Runable态,阻塞GC的进行。
当调用结束时,Native线程从Runable态切换回Native态,回到GC安全点。
所以Native线程(非VM接口调用状态),不响应GC,不被GC阻塞。
NatIve线程进入VM接口调用,则与GC互相阻塞。
GC笔记--Native线程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。