方法

声明 [src]

gboolean
g_thread_pool_push (
  GThreadPool* pool,
  gpointer data,
  GError** error
)

描述 [src]

data 插入到 pool 要执行的任务列表中。

当当前运行的线程数小于最大允许线程数时,会启动一个新的线程(或重用)以使用 g_thread_pool_new() 给定的属性。否则,data 将保持在队列中,直到该池中的某个线程完成其 previous 任务并处理 data

error 可以是 NULL(忽略错误),或非 NULL(报告错误)。只有在无法创建新线程时才可能发生错误。在这种情况下,data 将直接添加到待做工作队列中。

在版本 2.32 之前,此函数不返回成功状态。

参数

data

类型: gpointer

pool 生成的新任务。

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

类型: GError **

可恢复错误的返回位置。

该参数可以是 NULL
如果返回位置不是 NULL,那么您必须将其初始化为 NULL GError*
如果没有错误,该方法将保留整个参数初始化为 NULL
发生错误时,参数将设置为新建的 GError,调用者将拥有数据,并负责释放它。

返回值

类型: gboolean

成功时返回 TRUE,如果发生错误返回 FALSE