---
title: Actor
framework: swift
role: symbol
role_heading: Protocol
path: swift/actor
---

# Actor

Common protocol to which all actors conform.

## Declaration

```swift
protocol Actor : AnyObject, Sendable
```

## Overview

Overview The Actor protocol generalizes over all actor types. Actor types implicitly conform to this protocol. Actors and SerialExecutors By default, actors execute tasks on a shared global concurrency thread pool. This pool is shared by all default actors and tasks, unless an actor or task specified a more specific executor requirement. It is possible to configure an actor to use a specific SerialExecutor, as well as impact the scheduling of default tasks and actors by using a TaskExecutor. note: SerialExecutor note: TaskExecutor

## Topics

### Instance Properties

- [unownedExecutor](swift/actor/unownedexecutor.md)

### Instance Methods

- [assertIsolated(_:file:line:)](swift/actor/assertisolated(_:file:line:).md)
- [assumeIsolated(_:file:line:)](swift/actor/assumeisolated(_:file:line:).md)
- [preconditionIsolated(_:file:line:)](swift/actor/preconditionisolated(_:file:line:).md)
- [withSerialExecutor(_:)](swift/actor/withserialexecutor(_:)-4ff11.md)
- [withSerialExecutor(_:)](swift/actor/withserialexecutor(_:)-4ucv5.md)

## Relationships

### Inherits From

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [MainActor](swift/mainactor.md)

## See Also

### Actors

- [Sendable](swift/sendable.md)
- [AnyActor](swift/anyactor.md)
- [MainActor](swift/mainactor.md)
- [GlobalActor](swift/globalactor.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [ConcurrentValue](swift/concurrentvalue.md)
- [UnsafeSendable](swift/unsafesendable.md)
- [UnsafeConcurrentValue](swift/unsafeconcurrentvalue.md)
- [isolation()](swift/isolation().md)
- [extractIsolation(_:)](swift/extractisolation(_:).md)
