方法
声明 [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
,调用者将拥有数据,并负责释放它。