English 中文(简体)
自动参考时间/无法收现的物体
原标题:Self referencing timer /uncollectable object
  • 时间:2009-08-28 09:01:10
  •  标签:

我有一类时间,每两秒钟就发射一种检查方法。 我的问题是,当标的放弃范围时,不会收集标的,因为 time子保持参考。

我的问题是:在开学时,是否可以确定物体的多处提及,如果参考点数为1,则提及同一物体的通告? 基本上,我想到的是,如果目标仅有1个通知,那么在时间上添加代码,以阻止时间,并打上“无效”的提法。

增 编

public class TypeWithSelfRefresh<T>
{
    private readonly IList<T> _cache = new List<T>();
    private Timer _refreshTimer;

    public TypeWithSelfRefresh()
    {
        _refreshTimer = new Timer(delegate { ClearCache();},null,2000,2000);
    }

    public void ClearCache()
    {
        lock (_cache)
        {
            _cache.Clear();
        }
    }

    public void Add(T item)
    {
        lock (_cache)
        {
            _cache.Add(item);
        }
    }

    public IEnumerable<T> GetItems()
    {
        lock (_cache)
        {
            foreach (T item in _cache)
            {
                yield return item;
            }
        }
    }
}
问题回答

查阅WeakReference

问题与通篇的提及无关。 NET框架处理的是罚款。 问题是,你处理的是出于某种原因(时间)实施处置的物体,而不适当处置。

任何时间者都必须执行处置是简单的。 为使它开展工作,它必须放弃提及在背景中掌握时间的基本机制。 这是你没有直接控制的一个参考。 为了删除这一提法,你必须称之为处置。

通知中不应阻止该物体由GC收集,因为它无法达到。 你们认为是没有收集的? 页: 1





相关问题
热门标签