Function
GLibThreadPoolnew_full
since: 2.70
Declaration [src]
GThreadPool*
g_thread_pool_new_full (
  GFunc func,
  gpointer user_data,
  GDestroyNotify item_free_func,
  gint max_threads,
  gboolean exclusive,
  GError** error
)
Description [src]
This function creates a new thread pool similar to g_thread_pool_new()
but allowing item_free_func to be specified to free the data passed to g_thread_pool_push() in the case that the GThreadPool is stopped
and freed before all tasks have been executed.
item_free_func will not be called on items successfully passed to func.
func is responsible for freeing the items passed to it.
Available since: 2.70
This function is not directly available to language bindings.
Parameters
- func
- 
            Type: GFuncA function to execute in the threads of the new thread pool. 
- user_data
- 
            Type: gpointerUser data that is handed over to funcevery time it is called.The argument can be NULL.The data is owned by the caller of the function. 
- item_free_func
- 
            Type: GDestroyNotifyUsed to pass as a free function to g_async_queue_new_full(). 
- max_threads
- 
            Type: gintThe maximal number of threads to execute concurrently in the new thread pool, -1means no limit.
- exclusive
- 
            Type: gbooleanShould this thread pool be exclusive? 
- error
- 
            Type: GError **The return location for a recoverable error. The argument can be NULL.If the return location is not NULL, then you must initialize it to aNULLGError*.The argument will be left initialized to NULLby the function if there are no errors.In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.
Return value
Type: GThreadPool
The new GThreadPool.
| The caller of the function takes ownership of the data, and is responsible for freeing it. |