---
title: MTLSharedEventListener
framework: metal
role: symbol
role_heading: Class
path: metal/mtlsharedeventlistener
---

# MTLSharedEventListener

A listener for shareable event notifications.

## Declaration

```swift
class MTLSharedEventListener
```

## Topics

### Initializing a shareable event listener

- [init()](metal/mtlsharedeventlistener/init().md)
- [init(dispatchQueue:)](metal/mtlsharedeventlistener/init(dispatchqueue:).md)

### Getting the dispatch queue

- [dispatchQueue](metal/mtlsharedeventlistener/dispatchqueue.md)

### Type Methods

- [shared()](metal/mtlsharedeventlistener/shared().md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Synchronizing with events

- [Implementing a multistage image filter using heaps and events](metal/implementing-a-multistage-image-filter-using-heaps-and-events.md)
- [About synchronization events](metal/about-synchronization-events.md)
- [Synchronizing events within a single device](metal/synchronizing-events-within-a-single-device.md)
- [Synchronizing events across multiple devices or processes](metal/synchronizing-events-across-multiple-devices-or-processes.md)
- [Synchronizing events between a GPU and the CPU](metal/synchronizing-events-between-a-gpu-and-the-cpu.md)
- [MTLEvent](metal/mtlevent.md)
- [MTLSharedEvent](metal/mtlsharedevent.md)
- [MTLSharedEventHandle](metal/mtlsharedeventhandle.md)
- [MTLSharedEventNotificationBlock](metal/mtlsharedeventnotificationblock.md)
