摘要: Ios4已经直接支持blocks,很有必要学习一下。在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。Blocks的定义: int (^Multiply)(int, int) = ^(int num1, int num2) {return num1 * num2;};定义了一个Multiply的blocks对象,它带有两个int参数,返回int。等式右边就是blocks的具体实现,注意{}bloc 阅读全文
posted @ 2014-02-10 15:33 怒放紫罗兰 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是多线程可并发执行的,拥有最小系统资源,共享进程资源的基本调度单位。共用堆,自有栈(官方资料说明iOS主线程栈大小为1M,其它线程为512K)。并发执行进度不可控,对非原子操作易造成状态不一致,加锁控制又有死锁的风险。2. 为什么要使用多线程多线程可以提高应用程序的响应能力。有了多线程应用程序才能一边在后台处理数据,一边还能接受用户的输入响应。否则只能等数据处理完,才能接受用户的输入响应。在多核系统中,多线程能够提高应用程序的效率。因为多线程可以安排程序多条执行路径,所以在多核环境下,每个核同时可以执行不同路径的代码,这样就提高了应用程序的执行能力,同时也缩短了执行时间。那么已经可以 阅读全文
posted @ 2014-02-10 15:32 怒放紫罗兰 阅读(202) 评论(0) 推荐(0) 编辑