美文网首页
1、GCD和NSThread的区别

1、GCD和NSThread的区别

作者: 养个小东西 | 来源:发表于2019-04-25 13:48 被阅读0次

1、GCD是队列,NSThread是线程,队列里面一般包含了多个线程,但是部分提别的的队列也有一个线程,例如主队列:dispatch_get_main_queue()

一般来说刷新UI的线程都是在主线程,但是要是要回到主线程最好的方式是回到“主队列”,所以回到主队列则需要判断当前是不是在主队列。

每一个队列都有一个唯一的表示,通过

const char *

dispatch_queue_get_label(dispatch_queue_t _Nullable queue);

可以获取到某个队列的标志

GCD提供了宏 DISPATCH_CURRENT_QUEUE_LABEL,来获取当前所处的队列

所以一下代码可以判断当前的队列是不是在主队列

 if (dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL) == dispatch_queue_get_label(dispatch_get_main_queue())) {

    }

相关文章

网友评论

      本文标题:1、GCD和NSThread的区别

      本文链接:https://www.haomeiwen.com/subject/xirugqtx.html