### Function

# Gegl parallel_distribute_area

#### Declaration [src]

    void
    gegl_parallel_distribute_area (
      const GeglRectangle* area,
      gdouble thread_cost,
      GeglSplitStrategy split_strategy,
      GeglParallelDistributeAreaFunc func,
      gpointer user_data
    )

#### Description [src]

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

#### Parameters

`area`

  Type: `GeglRectangle`

  The area to process.

  The data is owned by the caller of the function.

`thread_cost`

  Type: `gdouble`

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

`split_strategy`

  Type: `GeglSplitStrategy`

  The strategy to use for dividing the area.

`func`

  Type: `GeglParallelDistributeAreaFunc`

  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.