---
title: Multiprocessing Services
framework: coreservices
role: collectionGroup
role_heading: API Collection
path: coreservices/carbon_core/multiprocessing_services
---

# Multiprocessing Services

Support multitasking in your app.

## Overview

Overview Multiprocessing Services is an API that lets you create preemptive tasks in your application that can run on one or more microprocessors. Unlike the cooperative threads created by the Thread Manager, Multiprocessing Services automatically divides processor time among the available tasks, so that no particular task can monopolize the system. This document is relevant to you if you want to add multitasking capability to your Mac OS applications. In macOS, Carbon supports Multiprocessing Services with the following restrictions: Debugging functions are not implemented. Use the mach APIs provided by the system to implement debugging services. Opaque notification IDs are local to your process; they are not globally addressable across processes. Global memory allocation is not supported. Gestalt Constants You can determine which system software calls are preemptively-safe for Multiprocessing Services by using the preemptive function attribute selectors defined in the Gestalt Manager. For more information, see Gestalt Manager.

## Topics

### Result Codes

- [kMPIterationEndErr](coreservices/kmpiterationenderr.md)
- [kMPPrivilegedErr](coreservices/kmpprivilegederr.md)
- [kMPProcessCreatedErr](coreservices/kmpprocesscreatederr.md)
- [kMPProcessTerminatedErr](coreservices/kmpprocessterminatederr.md)
- [kMPTaskCreatedErr](coreservices/kmptaskcreatederr.md)
- [kMPTaskBlockedErr](coreservices/kmptaskblockederr.md)
- [kMPTaskStoppedErr](coreservices/kmptaskstoppederr.md)
- [kMPDeletedErr](coreservices/kmpdeletederr.md)
- [kMPTimeoutErr](coreservices/kmptimeouterr.md)
- [kMPInsufficientResourcesErr](coreservices/kmpinsufficientresourceserr.md)
- [kMPInvalidIDErr](coreservices/kmpinvalididerr.md)
