Required Instance Methodswift 6.1.2_Concurrency

isSameExclusiveExecutionContext(other:)

If this executor has complex equality semantics, and the runtime needs to compare two executors, it will first attempt the usual pointer-based equality / check, / and if it fails it will compare the types of both executors, if they are the same, / it will finally invoke this method, in an attempt to let the executor itself decide / if this and the other executor represent the same serial, exclusive, isolation context.

iOS
17.0+
macOS
14.0+
tvOS
17.0+
watchOS
10.0+
func isSameExclusiveExecutionContext(other: Self) -> Bool

Parameters

other

the executor to compare with.

Returns

true, if self and the other executor actually are mutually exclusive and it is safe–from a concurrency perspective–to execute code assuming one on the other.

This method must be implemented with great care, as wrongly returning true would allow / code from a different execution context (e.g. thread) to execute code which was intended to be isolated by another actor.

This check is not used when performing executor switching.

This check is used when performing Actor/assertIsolated(), Actor/preconditionIsolated(), Actor/assumeIsolated() and similar APIs which assert about the same “exclusive serial execution context”.