代码: RootViewController.h RootViewController.m ...
分类:
移动开发 时间:
2017-06-07 10:07:29
阅读次数:
245
JavaScript引擎是单线程的,强制所有的异步事件排队等待执行 setTimeout 和 setInterval 在执行异步代码的时候有着根本的不同 如果一个计时器被阻塞而不能立即执行,它将延迟执行直到下一次可能执行的时间点才被执行(比期望的时间间隔要长些) 如果setInterval回调函数的 ...
分类:
Web程序 时间:
2017-06-03 19:11:58
阅读次数:
194
NSTimer作为一个经常使用的类,却有一个最大的弊病,就是会强引用target。造成调用timer很麻烦。稍有不慎就造成内存泄漏。 下面就是为解决问题做的封装。 直接上代码: #import <Foundation/Foundation.h> @interface LZLTimer : NSObj ...
分类:
其他好文 时间:
2017-05-30 20:47:56
阅读次数:
218
android中的一些耗时操作,例如网络请求,如果不能及时响应,就会导致主线程被阻塞,出现ANR,非常影响用户体验,所以一些耗时的操作,我们会想办法放在子线程中去完成。 android的UI操作并不是线程安全的,所以多个线程并发操作UI组件的时候,则可能导致线程安全问题。为了解决这个问题,andro ...
分类:
移动开发 时间:
2017-05-22 13:39:19
阅读次数:
253
一、为什么要产生I/O多路复用?两个主机之间通信,主机A和主机B都需要开启socket,主机A首先要等待客户端来进行连接,这是会发起一个recvfrom的系统调用,如果主机B一直没有去连接主机A,没有给主机A发送任何数据,进程就会被阻塞,无法去做其他的事情(默认的阻塞I/O模型),..
分类:
编程语言 时间:
2017-05-22 13:27:06
阅读次数:
247
反之,不阻塞,就是会继续执行不会因为子线程还没有结束而等待,而被阻塞的方法,这会因为某个子线程还没有结束而等待 ...
分类:
编程语言 时间:
2017-05-15 09:59:28
阅读次数:
396
信号的阻塞:通过sigprocmask()将信号集sigset_t中的信号设置为阻塞。SIG_BLOCK是指对相应信号的“递送阻塞”,内核在递送一个原来被阻塞的信号给进程时(而不是在产生该信号时),才决定对它的处理方式,那么进程在信号递送给它之前仍可改变对该信号的动作。 一个信号的"生命周期"为:产 ...
分类:
其他好文 时间:
2017-05-13 15:19:29
阅读次数:
228
当nstimer在主线程创建时,当滑动时,系统为了更好的处理UI事件,会暂停timer,解决办法就是改变timer的mode,不使用缺省的NSDefaultRunLoopMode,而是改用NSRunLoopCommonModes NSTimer *timer = [NSTimer timerWith ...
分类:
其他好文 时间:
2017-05-12 13:13:30
阅读次数:
229
1.查询数据库中的锁 select * from v$lock;select * from v$lock where block=1; 2.查询被锁的对象 select * from v$locked_object; 3.查询阻塞 查被阻塞的会话select * from v$lock where ...
分类:
数据库 时间:
2017-05-10 23:37:36
阅读次数:
281
一、了解Unix网络编程5种I/O模型 1.1、阻塞式I/O模型 阻塞I/O(blocking I/O)模型,进程调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回。进程从调用recvfrom开始到它返回的整段时间内是被阻塞的。 1.2、非阻塞式I/O模型 ...
分类:
编程语言 时间:
2017-05-08 10:49:43
阅读次数:
270