函数

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

一个在清除数据时要调用的函数。