方法

GLibThreadPoolset_max_threads

声明 [src]

gboolean
g_thread_pool_set_max_threads (
  GThreadPool* pool,
  gint max_threads,
  GError** error
)

描述 [src]

设置 pool 的最大线程数。值为 -1 表示线程数无限制。如果 pool 是专属线程池,则不允许将最大线程数设置为 -1。

max_threads 设置为 0 表示停止 pool 的所有工作。它将有效地冻结直到 max_threads 再次设置为非零值。

在调用 g_thread_pool_new() 提供的 func 时,不会终止线程。相反,最大线程数只在 g_thread_pool_push() 分配新线程时起作用。每次当 pool 中当前运行的线程数小于最大数时,都会分配一个新线程。

error 可以是 NULL 以忽略错误,或非 NULL 以报告错误。只有在无法创建新线程时才会发生错误。

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

参数

max_threads

类型: gint

pool 的新最大线程数,或 -1 表示无限制。

error

类型: GError **

用于恢复错误的返回位置的信息

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

返回值

类型: gboolean

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