July 16th Thursday (七月 十六日 木曜日)
2009-07-16 16:17
393 查看
Ephemerons
An ephemeron is similar to a weak box, except that
* an ephemeron contains a key and a value; the value can be extracted from the ephemeron, but the value is replaced by #f when
the automatic memory manager can prove that either the ephemeron or the key is reachable only through weak references; and
* nothing reachable from the value in an ephemeron counts toward the reachability of an ephemeron key (whether for the same
ephemeron or another), unless the same value is reachable through a non-weak reference, or unless the value's ephemeron key
is reachable through a non-weak reference.
In particular, an ephemeron can be combined with a weak hash table to produce a mapping where the memory manager can reclaim
key-value pairs even when the value refers to the key.
An ephemeron is similar to a weak box, except that
* an ephemeron contains a key and a value; the value can be extracted from the ephemeron, but the value is replaced by #f when
the automatic memory manager can prove that either the ephemeron or the key is reachable only through weak references; and
* nothing reachable from the value in an ephemeron counts toward the reachability of an ephemeron key (whether for the same
ephemeron or another), unless the same value is reachable through a non-weak reference, or unless the value's ephemeron key
is reachable through a non-weak reference.
In particular, an ephemeron can be combined with a weak hash table to produce a mapping where the memory manager can reclaim
key-value pairs even when the value refers to the key.
相关文章推荐
- July 26th Thursday (七月 二十六日 木曜日)
- 2008 July 31th Thursday (七月 三十一日 木曜日)
- July 16th Monday (七月 十六日 月曜日)
- 2008 July 10th Thursday (七月 十日 木曜日)
- July 5th Thursday (七月 五日 木曜日)
- July 2nd Thursday (七月 二日 木曜日)
- July 19th Thursday (七月 十九日 木曜日)
- 2008 July 3th Thursday (七月 三日 木曜日)
- 2008 July 24th Thursday (七月 二十四日 木曜日)
- April 16th Thursday (四月 十六日 木曜日)
- July 30th Thursday (七月 三十日 木曜日)
- 2008 July 16th Wenesday (七月 十六日 水曜日)
- July 9th Thursday (七月 九日 木曜日)
- 2008 July 17th Thursday (七月 十七日 木曜日)
- 2008 October 16th Thursday (十月 十六日 木曜日)
- July 23th Thursday (七月 二十三日 木曜日)
- July 12th Thursday (七月 十二日 木曜日)
- August 16th Thursday (八月 十四日 木曜日)
- August 23th Thursday (八月 二十三日 木曜日)
- September 13th Thursday (九月 十三日 木曜日)