ThreadPool.push

bool push(void * data = null)

Inserts data into the list of tasks to be executed by pool.

When the number of currently running threads is lower than the maximal allowed number of threads, a new thread is started (or reused) with the properties given to [glib.thread_pool.ThreadPool.new_]. Otherwise, data stays in the queue until a thread in this pool finishes its previous task and processes data.

error can be null to ignore errors, or non-null to report errors. An error can only occur when a new thread couldn't be created. In that case data is simply appended to the queue of work to do.

Before version 2.32, this function did not return a success status.

Parameters

dataa new task for pool

Returns

true on success, false if an error occurred

Throws

[ErrorWrap]