GCD
什么是GCD?
Grand Center Dispatch大中心调度
GCD是异步执行任务的技术之一。
一般,将应用程序中记述的线程管理用的代码在系统级中实现,开发者只需要定义想执行的任务并追加到适当的 Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。
现在一个物理的CPU芯片实际上有64个(64核)CPU,如果一个CPU核虚拟为两个CPU核工作,那么一台计算机上使用多个CPU核就是理所当然的事了。
1个CPU核一次能够执行的CPU命令始终为1。
由于使用多线程的程序可以在某个线程和其他线程之间反复多次进行上下文切换,因此看上去就好像1个CPU核能够并列地执行多个程序一样。而且在具有多个CPU核的情况下,就不是”看上去像“了,而是真的提供了多个CPU核并执行多个线程的技术。
这种利用了多线程编程的技术就被称为”多线程编程“。
但多线程也会造成一些潜在问题:

GCD的API
开发者要做的只是定义想执行的任务并追加到适当的Dispatch Queue中。
dispatch_async (queue, ^{
//想执行的任务
});

iOS和OS X的核心 – XUN内核决定应当使用的线程数,并只生成所需的线程执行处理。另外,当处理结束,应当执行的处理数减少时,XUN内核会结束不再需要的线程。
dispatch_after函数,并不是在
GCD详解:并行处理与线程管理

GCD(Grand Central Dispatch)是苹果平台的一种异步执行任务的技术,它简化了多线程编程。开发者只需定义任务并将其添加到DispatchQueue,系统会自动管理线程。GCD包括dispatch_async、dispatch_sync等API,用于同步和异步执行。通过dispatch_semaphore_t可以避免内存错误。DispatchQueue是FIFO队列,可通过dispatch_set_target_queue设定执行顺序。GCD的核心包括线程管理和Block的调度,有助于提高程序效率。
最低0.47元/天 解锁文章
1235

被折叠的 条评论
为什么被折叠?



