首页 > 代码库 > 用for(PhantomReference ref:ref_array循环出ref时的一个问题
用for(PhantomReference ref:ref_array循环出ref时的一个问题
我用PhantomReference实现一个实时监视对象数量的小功能,上图代码片断中,ref_array是所有对象的虚引用的集合,我发现了一个问题,
就是当暴力测试的时候不时会抛这个错误,即是当在for遍历
ref_array还没遍历完的时候,系统回收对象,ref_array中的虚引用被拿到ReferenceQueue中,这时由于还没遍历结束,所以会抛如此错误。
后来,我将for each循环换成for(;;)循环,问题就解决了。
用for(PhantomReference ref:ref_array循环出ref时的一个问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。