方法
GioCancellableconnect
since: 2.22
声明 [src]
gulong
g_cancellable_connect (
GCancellable* cancellable,
GCallback callback,
gpointer data,
GDestroyNotify data_destroy_func
)
描述 [src]
连接到 GCancellable::cancelled 信号的一个便捷函数。同时也处理了在连接之前可取消操作器被取消时可能发生的竞态条件。
callback 每当 cancellable 被取消时恰好调用一次,如果在连接当时 cancellable 已经被取消,或者在某线程中 cancellable 被取消。如果在通过 g_cancellable_reset() 重置可取消操作器后,cancellable 被取消,则回调可以再次被调用。
data_destroy_func 在处理程序断开连接时或立即在可取消操作器已经取消的情况下被调用。
有关如何使用此功能,请参阅 GCancellable::cancelled。
自 GLib 2.40 以来,当调用 callback 时,保护 cancellable 的锁不会被保持。这取消了对较早 GLib 版本的限制,现在使得编写无条件调用例如 g_cancellable_cancel() 的清理代码变得更加容易。
Available since: 2.22
参数
callback-
类型:
GCallback要连接的
GCallback。 data-
类型:
gpointer传递给
callback的数据。该参数可以是 NULL。该数据由方法调用者所有。 data_destroy_func-
类型:
GDestroyNotify用于释放
data或传递NULL的函数。该参数可以是 NULL。