随笔分类 -  多线程

摘要:写的很不错的关于多线程的文章,反正我看了之后,清晰了很多。 http://www.cocoachina.com/ios/20170829/20404.html 任务的管理方式:串行队列:所有任务会在一条线程中执行(有可能是当前线程也有可能是新开辟的线程),并且一个任务执行完成后,才开始执行下一个任务 阅读全文
posted @ 2017-09-01 14:30 bokeyuan_dan 阅读(136) 评论(0) 推荐(0)
摘要:GCD提供两种方式支持dispatch队列同步,即dispatch组和信号量。一、dispatch组(dispatch group)1. 创建dispatch组dispatch_group_t group = dispatch_group_create();2. 启动dispatch队列中的bloc... 阅读全文
posted @ 2014-08-14 10:05 bokeyuan_dan 阅读(196) 评论(0) 推荐(0)
摘要:GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用。所以说,结合block实现的GCD,把函数闭包(Closure)的特性发挥得淋漓尽致。dispatch队列的生成可以有这... 阅读全文
posted @ 2014-08-14 10:04 bokeyuan_dan 阅读(326) 评论(0) 推荐(0)
摘要:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定... 阅读全文
posted @ 2014-08-14 10:03 bokeyuan_dan 阅读(163) 评论(0) 推荐(0)
摘要:dispatch_semaphore 信号量基于计数器的一种多线程同步机制。在多个线程访问共有资源时候,会因为多线程的特性而引发数据出错的问题。dispatch_queue_tqueue =dispatch_get_global_queue(0,0); dispatch_semaphore_tsem... 阅读全文
posted @ 2014-08-13 16:00 bokeyuan_dan 阅读(199) 评论(0) 推荐(0)
摘要:@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。 一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。Objective-C... 阅读全文
posted @ 2014-08-13 10:22 bokeyuan_dan 阅读(259) 评论(0) 推荐(0)
摘要:什么是GCD?Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOpe... 阅读全文
posted @ 2014-04-23 10:27 bokeyuan_dan 阅读(270) 评论(0) 推荐(0)
摘要:什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GCD还提供高度集成的事件控制系统。可以设置句柄来响应文件描述符、mach ports(Mach port用于 OS X上的进程间通讯)、进程、计时器、信号、用户生成事件。这些句柄通过GCD来并发执行。GCD的API很大 阅读全文
posted @ 2014-02-22 09:39 bokeyuan_dan 阅读(253) 评论(0) 推荐(0)