## ide-thread-pool

ide-thread-pool

## Functions

void | (*IdeThreadFunc) ()
void | ide_thread_pool_push ()
void | ide_thread_pool_push_task ()

## Types and Values

enum | IdeThreadPoolKind
| IdeThreadPool

## Description

## Functions

### IdeThreadFunc ()

    void
    (*IdeThreadFunc) (gpointer user_data);

#### Parameters

user_data | The closure for the callback. | [closure][transfer full]

### ide_thread_pool_push ()

    void
    ide_thread_pool_push (IdeThreadPoolKind kind,
                          IdeThreadFunc func,
                          gpointer func_data);

Runs the callback on the thread pool thread.

#### Parameters

kind | the threadpool kind to use. |
func | A function to call in the worker thread. | [scope async][closure func_data]
func_data | user data for `func` . |

### ide_thread_pool_push_task ()

    void
    ide_thread_pool_push_task (IdeThreadPoolKind kind,
                               GTask *task,
                               GTaskThreadFunc func);

This pushes a task to be executed on a worker thread based on the task kind as denoted by `kind` . Some tasks will be placed on special work queues or throttled based on priority.

#### Parameters

kind | The task kind. |
task | A GTask to execute. |
func | The thread worker to execute for `task` . | [scope async]

## Types and Values

### enum IdeThreadPoolKind

#### Members

IDE_THREAD_POOL_COMPILER |  |
IDE_THREAD_POOL_INDEXER |  |
IDE_THREAD_POOL_LAST |  |

### IdeThreadPool

    typedef struct _IdeThreadPool IdeThreadPool;