---
title: Publishers.Multicast
framework: combine
role: symbol
role_heading: Class
path: combine/publishers/multicast
---

# Publishers.Multicast

A publisher that uses a subject to deliver elements to multiple subscribers.

## Declaration

```swift
final class Multicast<Upstream, SubjectType> where Upstream : Publisher, SubjectType : Subject, Upstream.Failure == SubjectType.Failure, Upstream.Output == SubjectType.Output
```

## Mentioned in

Controlling Publishing with Connectable Publishers

## Overview

Overview Use a multicast publisher when you have multiple downstream subscribers, but you want upstream publishers to only process one receive(_:) call per event.

## Topics

### Creating a multicast publisher

- [init(upstream:createSubject:)](combine/publishers/multicast/init(upstream:createsubject:).md)

### Declaring supporting types

- [Publishers.Multicast.Output](combine/publishers/multicast/output.md)
- [Publishers.Multicast.Failure](combine/publishers/multicast/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/multicast/upstream.md)
- [createSubject](combine/publishers/multicast/createsubject.md)

## Relationships

### Conforms To

- [ConnectablePublisher](combine/connectablepublisher.md)
- [Publisher](combine/publisher.md)

## See Also

### Working with multiple subscribers

- [Publishers.Share](combine/publishers/share.md)
