Java中几种常用的队列 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞, ...
分类:
编程语言 时间:
2017-08-30 22:34:16
阅读次数:
189
static int i = 29; @property(nonatomic,strong) NSTimer *timmer;//定时器 - (void)sendNumber{ NSLog(@"发送验证码"); self.getTelephoneCodeBtn.enabled = NO; [self... ...
分类:
其他好文 时间:
2017-08-21 23:03:18
阅读次数:
421
一、GCD Timer的创建和安放 尽管GCD Timer并不依赖于NSRunLoop,可是有没有可能在某种情况下,GCD Timer也失效了?就好比一開始我们也不知道NSTimer相应着一个runloop的某种mode。 先来看看GCD Timer的用法: dispatch_source_t ti ...
分类:
其他好文 时间:
2017-08-20 13:34:34
阅读次数:
308
流 InputStream和OutputStream是所有的输入流和输出流的超类。他们两个都是抽象类。 read方法和write方法都是阻塞方法,这意味着如果不能里可以写入或者读取,比如因为网络问题,那么当前线程将会被阻塞。 InputStream的API: 方法摘要intavailable() 返... ...
分类:
编程语言 时间:
2017-08-19 18:32:55
阅读次数:
174
转自 http://www.cnblogs.com/kerrycode/p/7388968.html 最近遇到一个案例,很多查询被阻塞没有返回结果,使用show processlist查看,发现不少MySQL线程处于Waiting for table flush状态,查询语句一直被阻塞,只能通过Ki ...
分类:
数据库 时间:
2017-08-18 18:40:38
阅读次数:
187
最近遇到一个案例,很多查询被阻塞没有返回结果,使用show processlist查看,发现不少MySQL线程处于Waiting for table flush状态,查询语句一直被阻塞,只能通过Kill进程来解决。那么我们先来看看Waiting for table flush的官方解释:https:... ...
分类:
数据库 时间:
2017-08-18 13:37:37
阅读次数:
320
RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 IndexRunLoop ...
分类:
移动开发 时间:
2017-08-16 21:41:31
阅读次数:
277
关于等待状态的线程调用interrupt方法报异常:InterruptedException 当线程被阻塞,比如wait,join,sleep等,在调用interrupt方法,没有占用cpu运行的线程是不可能给自己的中断状态置位的,这就产生了InterruptedException异常. 一.Cou ...
分类:
其他好文 时间:
2017-08-09 23:36:05
阅读次数:
1278
理论不介绍,直接上干货~ 一、检测 检测控制器是否被释放,可以检测是否调用了-dealloc生命周期方法。 二、修复 1、因为NSTimer没有释放的原因 避免方式:记得将NSTimer对象timerObj失效与置空。 [self.timerObj invalidate]; self.timerOb ...
分类:
其他好文 时间:
2017-08-09 15:37:27
阅读次数:
119
场景一 :NStimer timer就是一个能在从如今開始的未来的某一个时刻又或者周期性的运行我们指定的方法的对象 NSTimer运行的必要条件:相应线程的RunLoop要开启,mode要相应 以下看timer的循环引用: 如图,我们写这种一个类,当我们初始化这个类就会有一个timer开启。然后当我 ...
分类:
移动开发 时间:
2017-08-03 18:10:31
阅读次数:
260