Dispatch   >   DispatchQueue   >   init(__label:attr:)
イニシャライザ
init(__label:attr:)
ブロックをそれへ送信できる新しいディスパッチキューを作成します。
宣言
パラメータ
label | インストルメント、sample、スタックショット、及びクラッシュレポートなどのデバッグツールでキューを一意に識別するためにキューに添付する文字列ラベル。アプリケーション、ライブラリ、及びフレームワークはすべて独自のディスパッチキューを作成できるため、逆 DNS 命名スタイル(com.example.myqueue) を推奨します。このパラメータはオプションで、NULL でもかまいません。 |
attr | macOS 10.7 以降、または iOS 4.3 以降では、シリアルキューを作成するには DISPATCH_QUEUE_SERIAL(または NULL) を指定するか、コンカレント(並行) キューを作成するには DISPATCH_QUEUE_CONCURRENT を指定します。以前のバージョンでは、このパラメータに NULL を指定する必要があります。 |
戻り値
新しく作成されたディスパッチキュー。
議論
シリアルキューに送信されたブロックは、FIFO の順に一度に1つずつ実行されます。ただし、独立したキューに送信されたブロックは、互いに並行して実行されることがあります。コンカレント(並行) キューに提出されたブロックは、FIFO の順にキューから外されますが、そのためにリソースが使用可能であれば、同時に実行されることがあります。
あなたのアプリが ARC を使用していない場合は、ディスパッチキューが不要になったときに dispatch_release をディスパッチキュー上で呼び出す必要があります。キューに提出された待ちブロックは、そのキューへの参照を保持するので、キューはすべての待ちブロックが完了するまで割り当て解除されません。