方法

GLibAsyncQueuesort

自:2.10

声明 [源代码位置]

void
g_async_queue_sort (
  GAsyncQueue* queue,
  GCompareDataFunc func,
  gpointer user_data
)

描述 [源代码位置]

使用 funcqueue 进行排序。

排序函数 func 接收 queue 的两个元素。如果它们相等,则返回 0;如果第一个元素应位于 queue 的较高位置,则返回负值;如果第一个元素应位于第二个元素下方,则返回正值。

此函数将在对队列进行排序之前锁定 queue,并在完成后解锁。

如果您正在对优先级数字列表进行排序以确保最低优先级位于队列顶部,可以使用

 gint32 id1;
 gint32 id2;

 id1 = GPOINTER_TO_INT (element1);
 id2 = GPOINTER_TO_INT (element2);

 return (id1 > id2 ? +1 : id1 == id2 ? 0 : -1);

自:2.10

参数

func

类型: GCompareDataFunc

GCompareDataFunc 用于对 queue 进行排序。

user_data

类型: gpointer

传递给 func 的用户数据。

该参数可以为 NULL
数据由方法调用者拥有。