GCD---从子线程回到主线程(经典用法)

简介: GCD---从子线程回到主线程(经典用法)

1.经典用法(子线程下载(耗时操作),主线程刷新UI):

dispatch_async(dispatch_get_global_queue(0,0), ^{

//执行耗时的异步操作...

dispatch_async(dispatch_get_main_queue(), ^{

//回到主线程,执行UI刷新操作

  });

           });

2.注意:

<1>需要设置按钮的image,建议先把按钮类型改为custom,才能保证设置成功

<2>属性名不能以new开头


相关文章
【多线程面试题十一】、如何实现子线程先执行,主线程再执行?
要实现子线程先执行,主线程再执行,可以在启动子线程后立即调用其join()方法,使主线程等待子线程执行完成。
|
消息中间件 移动开发 自然语言处理
多线程知识:三个线程如何交替打印ABC循环100次
synchronized是Java中的一个关键字,用于实现对共享资源的互斥访问。wait和notify是Object类中的两个方法,用于实现线程间的通信。wait方法会让当前线程释放锁,并进入等待状态,直到被其他线程唤醒。notify方法会唤醒一个在同一个锁上等待的线程。
195 1
三个线程交替打印ABC100次问题思考之二,使用信号量的优雅实现
三个线程交替打印ABC100次问题思考之二,使用信号量的优雅实现
134 0
线程的创建等待及退出 代码源码举例
线程的创建等待及退出 代码源码举例
89 0
JUC(二)JAVA线程池开启,等待全部执行完毕,配合计数器使用,List并发异常解决
JUC(二)JAVA线程池开启,等待全部执行完毕,配合计数器使用,List并发异常解决
JUC(二)JAVA线程池开启,等待全部执行完毕,配合计数器使用,List并发异常解决
|
设计模式 存储 Prometheus
通过transmittable-thread-local源码理解线程池线程本地变量传递的原理(下)
想起很早之前写过ThreadLocal的源码分析相关文章,里面提到了ThreadLocal存在一个不能向预先创建的线程中进行变量传递的局限性,刚好有一位HSBC的技术大牛前同事提到了团队引入了transmittable-thread-local解决了此问题。借着这个契机,顺便clone了transmittable-thread-local源码进行分析,这篇文章会把ThreadLocal和InheritableThreadLocal的局限性分析完毕,并且从一些基本原理以及设计模式的运用分析transmittable-thread-local(下文简称为TTL)整套框架的实现。
524 0
通过transmittable-thread-local源码理解线程池线程本地变量传递的原理(下)
|
设计模式 缓存 Java
通过transmittable-thread-local源码理解线程池线程本地变量传递的原理(上)
想起很早之前写过ThreadLocal的源码分析相关文章,里面提到了ThreadLocal存在一个不能向预先创建的线程中进行变量传递的局限性,刚好有一位HSBC的技术大牛前同事提到了团队引入了transmittable-thread-local解决了此问题。借着这个契机,顺便clone了transmittable-thread-local源码进行分析,这篇文章会把ThreadLocal和InheritableThreadLocal的局限性分析完毕,并且从一些基本原理以及设计模式的运用分析transmittable-thread-local(下文简称为TTL)整套框架的实现。
177 0
通过transmittable-thread-local源码理解线程池线程本地变量传递的原理(上)