Zen API

- Home
- Topics
- Types
- Files

All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
Public Member Functions
kParallel Class Reference
kApi/Threads

## Description

Declares the kParallel class.

The kParallel class can be used to process a dataset using a thread pool.

kStatus MyApp_ProcessImage(MyApp app, kImage image)
{
//distribute image processing across multiple concurrent callbacks; the number of threads
//is automatically selected, based on hardware resources
return kParallel_Execute(MyApp_ProcessImageSlice, app, image);
}
kStatus kCall MyApp_ProcessImageSlice(MyApp app, kParallel parallel, kParallelArgs* args)
{
kImage image = args->content;
kSize imageHeight = kImage_Height(image);
kSize beginRow = kParallelArgs_Begin(args, 0, imageHeight);
kSize endRow = kParallelArgs_End(args, 0, imageHeight);
kSize i;
kCheck(kImage_PixelType(image) == kTypeOf(k8u));
for (i = beginRow; i < endRow; ++i)
{
const k8u* row = kImage_RowAtT(image, i, k8u);
//process...
}
return kOK;
}
Inheritance diagram for kParallel:

## Public Member Functions
kStatus | kParallel_BeginExecute (kParallelFx callback, kPointer receiver, kPointer content, kParallelTransaction *transaction)
| Begins asynchronously processing a dataset. More...
kStatus | kParallel_EndExecute (kParallelTransaction transaction)
| Blocks until execution of the specified kParallel transaction is complete. More...
kStatus | kParallel_Execute (kParallelFx callback, kPointer receiver, kPointer content)
| Synchronously processes a dataset. More...
Public Member Functions inherited from kObject
kAlloc | kObject_Alloc (kObject object)
| Gets the memory allocator associated with this object. More...
kStatus | kObject_Clone (kObject *object, kObject source, kAlloc allocator)
| Constructs a new object by copying an existing object, including any aggregated child elements. More...
kStatus | kObject_Destroy (kObject object)
| Destroys the object. More...
kStatus | kObject_Dispose (kObject object)
| Destroys the object and any aggregated child elements. More...
kBool | kObject_Equals (kObject object, kObject other)
| Determines whether the object is equal to another object. More...
kSize | kObject_HashCode (kObject object)
| Gets a hash code representing the state of this object. More...
kBool | kObject_Is (kObject object, kType type)
| Determines whether this object is an instance of the specified type. More...
kBool | kObject_IsShared (kObject object)
| Reports whether the object is currently shared (reference count greater than one). More...
kStatus | kObject_SetPool (kObject object, kObjectPool pool)
| Sets the object pool associated with this object. More...
kStatus | kObject_Share (kObject object)
| Increments the reference count associated with this object. More...
kSize | kObject_Size (kObject object)
| Estimates the memory consumed by this object, including any aggregated child elements. More...
kType | kObject_Type (kObject object)
| Returns the type of the object. More...

## Additional Inherited Members
Protected Member Functions inherited from kObject
kStatus | kObject_FreeMem (kObject object, void *mem)
| Protected method called by derived classes to free memory using the object's allocator. More...
kStatus | kObject_FreeMemRef (kObject object, void *mem)
| Protected method called by derived classes to free memory (and reset the provided memory pointer to kNULL) using the object's allocator. More...
kStatus | kObject_GetMem (kObject object, kSize size, void *mem)
| Protected method called by derived classes to allocate memory using the object's allocator. More...
kStatus | kObject_GetMemZero (kObject object, kSize size, void *mem)
| Protected method called by derived classes to allocate and zero memory using the object's allocator. More...
kStatus | kObject_Init (kObject object, kType type, kAlloc alloc)
| Protected method called by derived classes to initialize the kObject base class. More...
kStatus | kObject_VDisposeItems (kObject object)
| Protected virtual method that destroys any aggregated child objects associated with a collection. More...
kBool | kObject_VEquals (kObject object, kObject other)
| Protected virtual method that compares two objects for equality. More...
kSize | kObject_VHashCode (kObject object)
| Protected virtual method that calculates a hash code representing the object instance. More...
kStatus | kObject_VInitClone (kObject object, kObject source, kAlloc allocator)
| Protected virtual method that clones (makes a deep copy of) the specified source object. More...
kStatus | kObject_VRelease (kObject object)
| Protected virtual method that deallocates any resources owned by the object. More...
kSize | kObject_VSize (kObject object)
| Protected virtual method that calculates the total size (in bytes) of the object instance. More...

The documentation for this class was generated from the following file:

- Threads/kParallel.h