プロトコル


Actor


すべての actor が準拠する共通プロトコル。


iOS 13.0+ iPadOS 13.0+ Mac Catalyst 13.0+ macOS 10.15+

tvOS 13.0+ visionOS 1.0+ watchOS 6.0+

protocol Actor : AnyObject, Sendable





概観


Actor プロトコルはすべての actor の型に一般化されます。Actor 型は暗黙的にこのプロトコルに準拠します。



Actor と SerialExecutor


デフォルトでは、アクターは共有グローバル同時実行スレッドプール上でタスクを実行します。このプールは、アクターまたはタスクでより具体的なエグゼキューター要件が指定されていない限り、すべてのデフォルトのアクターとタスクで共有されます。


アクターが特定の SerialExecutor を使用するように構成したり、TaskExecutor を使用してデフォルトのタスクとアクターのスケジュールに影響を与えたりすることも可能です。


以下も見よ

SerialExecutor


以下も見よ

TaskExecutor





トピックス


インスタンスプロパティ


var unownedExecutor: UnownedSerialExecutor

このアクターの実行プログラムを、最適化された所有されない参照として取得します。

必須



インスタンスメソッド


func assertIsolated(@autoclosure () -> String, file: StaticString, line: UInt)

現在のタスクがこのアクターの連続的実行者上で実行されていない場合は、プログラムの実行を停止します。


func assumeIsolated<T>((isolated Self) throws -> T, file: StaticString, line: UInt) rethrows -> T

現在のタスクがこのアクターの連続的実行者上で実行中であると想定し、そうでない場合はプログラムの実行を停止します。


func preconditionIsolated(@autoclosure () -> String, file: StaticString, line: UInt)

現在のタスクがこのアクターの連続的実行者上で実行されていない場合は、プログラムの実行を停止します。





関連


以下からの継承


Sendable

SendableMetatype



準拠型


MainActor





以下も見よ


アクター


protocol Sendable

データ競合のリスクを招かずに、任意の同時コンテキスト間で値を共有できるスレッドセーフな型。


typealias AnyActor

(ローカル) Actor と (潜在的にリモートの) DistributedActor 型の両方に共有の「ベース」を提供する共通マーカープロトコル。

  廃止  


actor MainActor

実行者がメインディスパッチキューと同等であるシングルトンアクター。


protocol GlobalActor

プログラム内の任意の場所でさまざまな宣言を分離するために使用できる、グローバルに一意のアクターを表す型。


protocol SendableMetatype

メタタイプ T.TypeSendable である型 T。


typealias ConcurrentValue

  廃止  


protocol UnsafeSendable

コピーによって並行ドメイン間で値を安全に渡すことができるが、準拠するサイトでの安全性チェックの一部が無効になる型。

  廃止  


typealias UnsafeConcurrentValue

  廃止  


macro isolation<T>() -> T

囲んでいるコードが分離されているアクターへの参照を生成します。コードが分離されていない場合は nil を生成します。


func extractIsolation<each Arg, Result>((repeat each Arg) async throws -> Result) -> (any Actor)?














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ