发明名称 Object surrogate with active computation and probablistic counter
摘要 To prevent dangling pointers, an object is annotated with a reference counted Object Surrogate which will outlive the object and which knows whether the referenced object is valid or not. Rather than directly referring to the underlying object, long lived external pointers (those which exist outside of an active computation) are maintained as pointers to the object surrogate. The object surrogate maintains a count of the number of active computations executing within the object. While there are active computations executing within the object, the object surrogate will not allow the object to be destroyed. The object may ask its surrogate to consider the object invalid to prevent new active computations from starting. This is done within the object's destructor. To allow an object to delete itself (potentially within an active computation) rather than deleting itself explicitly, the object requests of its object surrogate that the object be deleted when the number of active computations hits zero. In another technique, the active computation count comprises multiple counters. One of the multiple counters is selected pseudo-randomly and incremented when a new active computation begins executing on the object. A token referring to the selected counter is passed to the caller initiating the new computation. The token is passed back to the object surrogate to allow the appropriate counter to be decremented when the active computation completes. The count of active computations is considered to be zero only when all counters equal zero.
申请公布号 US5918235(A) 申请公布日期 1999.06.29
申请号 US19970833158 申请日期 1997.04.04
申请人 HEWLETT-PACKARD COMPANY 发明人 KIRSHENBAUM, EVAN R.;MOORE, KEITH E.
分类号 G06F12/02;(IPC1-7):G06F17/30 主分类号 G06F12/02
代理机构 代理人
主权项
地址