会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
大圣ios博客
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2019年2月19日
关于GCD中同步函数+主队列产生死锁的一点理解
摘要: 首先看个产生死锁的代码-(void)syncMain{ //获得主队列 dispatch_queue_t queue = dispatch_get_main_queue(); NSLog(@"start"); //同步函数 dispatch_sync(queue, ^{ NSLog(@" %@",[
阅读全文
posted @ 2019-02-19 22:07 大圣ios博客
阅读(469)
评论(0)
推荐(0)
编辑
2019年2月16日
GCD概念理解:同步异步,并行串行
摘要: GCD核心概念: 1,任务和队列。 任务:要做什么 队列:存放任务。 GCD使用步骤: 1,创建队列 2,封装任务,把任务添加到队列中。 封装任务的函数: 同步函数: dispatch_sync 该函数不具备开辟线程的能力,不能开辟线程。 任务执行的方式: 同步 异步函数:dispatch_asyn
阅读全文
posted @ 2019-02-16 21:24 大圣ios博客
阅读(628)
评论(0)
推荐(0)
编辑
线程间的通信
摘要: 开辟新的线程: [NSThread detachNewThreadSelector:@selector(download) toTarget:self withObject:nil]; [self performSelectorInBackground:@selector(download) wit
阅读全文
posted @ 2019-02-16 20:27 大圣ios博客
阅读(87)
评论(0)
推荐(0)
编辑
2019年2月15日
nonatomic与atomic
摘要: nonatomic 非线程安全的,适合内存小的移动设备,内部不会加锁。 atomic 线程安全的,需要消耗大量的资源,内部会对setter方法加锁 开发中的建议: 1,所有的属性都声明为 nonatomic (如果不声明,默认是atomic) 2,尽量避免多线程抢夺同一资源 3,尽量将加锁,资源抢夺
阅读全文
posted @ 2019-02-15 23:59 大圣ios博客
阅读(171)
评论(0)
推荐(0)
编辑
多线程安全----同步锁(互斥锁)
摘要: 多条线程抢夺同一资源时,经常需要加锁,保证同一时间只能有一条线程操作一个资源。 同步锁就是互斥锁 格式:@synchronized (token) { } token:锁对象,要使用全局的对象,建议使用self {} 要加锁的代码段 注意点:加多把锁是无效的。 要注意加锁的位置。 互斥锁的优点: 能
阅读全文
posted @ 2019-02-15 23:24 大圣ios博客
阅读(994)
评论(0)
推荐(0)
编辑
多线程之线程的状态有几种
摘要: 线程从生到死有几种状态: 创建(new) 就绪start 运行running 阻塞sleep 死亡dead cpu调用线程是从可调度线程池中调用, 当线程阻塞时会移出可调度线程池。 线程是不能直接从阻塞状态直接变成运行状态的, 需要先变成就绪状态,当cpu调用该线程时, 就会变成运行状态。 控制线程
阅读全文
posted @ 2019-02-15 22:00 大圣ios博客
阅读(1520)
评论(0)
推荐(0)
编辑
2019年2月14日
NSString为什么经常用copy修饰,用strong会有什么问题?
摘要: @interface ViewController () @property (nonatomic, strong) NSString *str1; @property (nonatomic, copy) NSString *str2; @end @implementation ViewContro
阅读全文
posted @ 2019-02-14 15:58 大圣ios博客
阅读(1794)
评论(0)
推荐(0)
编辑
2019年2月13日
多线程技术
摘要: 多线程: 串行->针对一个线程中有多个任务,按顺序执行。 并行->多个线程的执行情况,同时执行。 多线程优点: 提高程序的性能 缺点: 需要开销,程序更加复杂。 多线程技术方案: pthread 适用于unix, Linux, Windows,可跨平台 NSThread 面向对象,简单易用 GCD
阅读全文
posted @ 2019-02-13 17:08 大圣ios博客
阅读(168)
评论(0)
推荐(0)
编辑
关于汇编语言
摘要: Cpu操作内存, 通过寄存器操作,不是直接操作内存。 高级语言编译成汇编语言, 汇编语言再编译成机器语言,机器语言再运行到计算机。 汇编语言与机器语言 是一一对应的。可以编译与反编译。 高级语言可以编译成汇编或机器语言,但是汇编几乎不可能还原成高级语言。
阅读全文
posted @ 2019-02-13 10:53 大圣ios博客
阅读(164)
评论(0)
推荐(0)
编辑
2018年12月28日
Swift泛型
摘要: swift 特性, 可以定义泛型类型 func SwapTwoValues <T>(value1: inout T, value2: inout T) { let p = value1 value1 = value2 value2 = p } 参数为泛型, var a1 = "hello" var
阅读全文
posted @ 2018-12-28 10:20 大圣ios博客
阅读(505)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
下一页