函数
GLibatomic_rc_box_release_full
自:2.58
声明 [src]
void
g_atomic_rc_box_release_full (
gpointer mem_block,
GDestroyNotify clear_func
)
描述 [src]
以原子方式释放 mem_block
指向的数据上的引用。
如果该引用是最后一个引用,它将调用 clear_func
来清除 mem_block
的内容,然后释放为 mem_block
分配的资源。
请注意,通过 clear_func
实现弱引用并不是线程安全的:从回调函数中清除内存的指针可能与试图将它作为 mem_block
访问的另一个线程竞争,因为当调用回调函数时 mem_block
已具有 0 的引用计数,并将被释放。
自 2.58 起可用
参数
mem_block
-
类型:
gpointer
一个指向引用计数数据的数据指针。
被调用的函数取得对数据的拥有权,并负责将其释放。 clear_func
-
类型:
GDestroyNotify
一个在清除数据时要调用的函数。