<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Dispatch",
  "identifier" : "/documentation/Dispatch/dispatch_autorelease_frequency_t",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Dispatch"
    ],
    "preciseIdentifier" : "c:@EA@dispatch_autorelease_frequency_t"
  },
  "title" : "dispatch_autorelease_frequency_t"
}
-->

# dispatch_autorelease_frequency_t

Constants indicating the frequency with which a dispatch queue creates autorelease pools for its tasks.

```
typedef enum { ... } dispatch_autorelease_frequency_t;
```

## Topics

### Autorelease Frequency Options

[`DISPATCH_AUTORELEASE_FREQUENCY_INHERIT`](/documentation/Dispatch/dispatch_autorelease_frequency_t/DISPATCH_AUTORELEASE_FREQUENCY_INHERIT)

The queue inherits its autorelease frequency from its target queue.

[`DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM`](/documentation/Dispatch/dispatch_autorelease_frequency_t/DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM)

The queue configures an autorelease pool before the execution of a block and releases the objects in that pool after the block finishes executing.

[`DISPATCH_AUTORELEASE_FREQUENCY_NEVER`](/documentation/Dispatch/dispatch_autorelease_frequency_t/DISPATCH_AUTORELEASE_FREQUENCY_NEVER)

The queue does not set up an autorelease pool around executed blocks.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)