---
title: UnownedJob
framework: swift
role: symbol
role_heading: Structure
path: swift/unownedjob
---

# UnownedJob

A unit of schedulable work.

## Declaration

```swift
@frozen struct UnownedJob
```

## Overview

Overview Unless you’re implementing a scheduler, you don’t generally interact with jobs directly. An UnownedJob must be eventually run exactly once using runSynchronously(on:). Not doing so is effectively going to leak and “hang” the work that the job represents (e.g. a Task).

## Topics

### Initializers

- [init(_:)](swift/unownedjob/init(_:)-8ra8c.md)
- [init(_:)](swift/unownedjob/init(_:)-9f1zn.md)

### Instance Properties

- [priority](swift/unownedjob/priority.md)

### Instance Methods

- [runSynchronously(isolatedTo:taskExecutor:)](swift/unownedjob/runsynchronously(isolatedto:taskexecutor:).md)
- [runSynchronously(on:)](swift/unownedjob/runsynchronously(on:)-4eaxu.md)
- [runSynchronously(on:)](swift/unownedjob/runsynchronously(on:)-o1nb.md)

### Default Implementations

- [CustomStringConvertible Implementations](swift/unownedjob/customstringconvertible-implementations.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Executors

- [Executor](swift/executor.md)
- [ExecutorJob](swift/executorjob.md)
- [SerialExecutor](swift/serialexecutor.md)
- [TaskExecutor](swift/taskexecutor.md)
- [PartialAsyncTask](swift/partialasynctask.md)
- [JobPriority](swift/jobpriority.md)
- [UnownedSerialExecutor](swift/unownedserialexecutor.md)
- [UnownedTaskExecutor](swift/unownedtaskexecutor.md)
- [globalConcurrentExecutor](swift/globalconcurrentexecutor.md)
- [withTaskExecutorPreference(_:isolation:operation:)](swift/withtaskexecutorpreference(_:isolation:operation:).md)
