[解決済み】メインスレッドでタスクを実行するGCD
2022-04-03 17:26:41
質問
私は、どのスレッドからも来るかもしれないコールバックを持っています。このコールバックを受け取ったとき、私はメインスレッドで特定のタスクを実行したいと思います。
あるいは、以下のコードを呼び出す前に、このチェックを行わないと何かペナルティがあるのでしょうか?
dispatch_async(dispatch_get_main_queue(), ^{
// do work here
});
解決方法は?
いいえ、すでにメインスレッドにいるかどうかを確認する必要はありません。ブロックをメインキューにディスパッチすることで、メインスレッドで連続的に実行されるようにスケジューリングしているだけで、対応する実行ループが実行されたときに実行されるのです。
すでにメインスレッドにいる場合、動作は同じです。ブロックはスケジュールされ、メインスレッドのランループが実行されたときに実行されます。
関連
-
[解決済み】何が原因か。switch文からこのcaseラベルにジャンプできない [重複]。
-
[解決済み] dispatch_after - GCD in Swift?
-
[解決済み] インスタンスに送信されたセレクタが認識されない」を解決するには?
-
[解決済み] synthesize vs @dynamic、その違いとは?
-
[解決済み] ブロック(__block)」というキーワードはどういう意味ですか?
-
[解決済み] NSTimerの使い方を教えてください。
-
[解決済み】NSDateをNSStringに変換する。
-
[解決済み】UITableViewからセパレータラインを削除する方法はありますか?
-
[解決済み】新しい自動リファレンスカウント機構はどのように機能するのですか?
-
[解決済み]SwiftでどのようにGCDメインスレッド上のパラメータを持つメソッドを呼び出すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MPProgressHUDとNSSessionを使用したデータシンクの読み込み
-
[解決済み] .02fと%.2fの違いは何ですか?
-
[解決済み] Objective-CでNSNumberをintに変換する。
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] 開発者の身元が確認できないため開けない
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] 「NSString *' 型のパラメータに 'const NSString *' を送ると修飾子が破棄される」警告
-
[解決済み】浮動小数点値の比較はどのくらい危険か?
-
[解決済み】Windows版Objective-C