### Function

# Gegl parallel_distribute_range

#### Declaration [src]

    void
    gegl_parallel_distribute_range (
      gsize size,
      gdouble thread_cost,
      GeglParallelDistributeRangeFunc func,
      gpointer user_data
    )

#### Description [src]

Distributes the processing of a linear data-structure across multiple threads, by calling the given function with different sub-ranges on different threads.

#### Parameters

`size`

  Type: `gsize`

  The total size of the data.

`thread_cost`

  Type: `gdouble`

  The cost of using each additional thread, relative to the cost of processing a single data element.

`func`

  Type: `GeglParallelDistributeRangeFunc`

  The function to call.

`user_data`

  Type: `gpointer`

  User data to pass to the function.

  The argument can be `NULL`.
  The data is owned by the caller of the function.