在多线程控制中,可以通过互斥锁,实现多个线程对共享资源的单独访问。在同一时刻,只有一个线程能够掌握互斥锁,只有这个线程能够对共享资源进行访问,其他线程被阻塞,直到互斥锁被释放。
如果,互斥锁上锁期间,有多个线程阻塞,那么所有被阻塞的线程会被设置为可执行状态。第一个执行的线程,取得互斥锁的控制权,上锁。其他线程继续阻塞。
一 创建互斥锁
互斥锁可以...
分类:
系统相关 时间:
2015-01-24 00:30:49
阅读次数:
431
NSTimer其实是将一个监听加入到系统的RunLoop中去,当系统runloop到如何timer条件的循环时,会调用timer一次,当timer执行完,也就是回调函数执行之后,timer会再一次的将自己加入到runloop中去继续监听。定义一个timer:NSTimer *timer=[NSTim...
分类:
其他好文 时间:
2015-01-22 19:46:07
阅读次数:
173
NIO(同步非阻塞IO)是jdk1.4之后推出的newio,它跟BIO(同步阻塞IO)有着非常明显的区别。BIO在调用read/write的时候会阻塞线程,也就是就算某个时刻你的socket并没有数据需要传输,但是你的socket线程却仍然会被阻塞在read/write方法上,所以BIO是一个soc...
分类:
编程语言 时间:
2015-01-18 18:27:25
阅读次数:
265
在正常的app使用时,前台的activity有时被其他课时的组建所受阻而暂停。例如,当一个半透明的activity打开(诸如一个该样式的对话框),activity就会暂停。只要是部分可见但目前仍未获得焦点的activity,它保持暂停状态。然而,一旦activity完全被阻塞和不可见时,它会停止(这...
分类:
其他好文 时间:
2015-01-11 22:57:59
阅读次数:
202
调用一次计时器方法:myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO]; //不重复,只调用一次。tim....
分类:
移动开发 时间:
2015-01-10 12:23:09
阅读次数:
204
当数据表被事务锁定后,我们再进行select查询时,需要为with(锁选项)来查询信息,如果不加,select将会被阻塞,直到锁被释放,下面介绍几种SQL的锁选项SQL的几把锁NOLOCK(不加锁)此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未...
分类:
数据库 时间:
2015-01-07 14:54:53
阅读次数:
229
1,NStimer 的初始化方式有下面四种,分为timerWithTimeInterval和scheduledTimerWithTimeInterval开头的1 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSI...
分类:
移动开发 时间:
2015-01-06 23:02:44
阅读次数:
185
//使用轮播图展示一组图片信息 //定时器 使循环 [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(runTimePage) userInfo:nil repeats:YES]; //初始化sc...
分类:
移动开发 时间:
2015-01-05 01:54:10
阅读次数:
218
计时器代码:_hour,_minute初始值为0;//计算时间-(void)Time{//60秒后执行@selector:方法 _timer = [NSTimer scheduledTimerWithTimeInterval:60.0f target:self selector:@selector....
分类:
其他好文 时间:
2015-01-04 14:53:31
阅读次数:
208
不同的类会有不同的传递方式,参数名也不尽相同。如果是传单个参数的就不用集合,如果是传多个参数可以用类似nsarray,nsdictionary之类的集合传递。看下面例子:例子1:通过NSTimer看IPhone对@selector的函数如何传参数,NSMutableDictionary *dict ...
分类:
移动开发 时间:
2015-01-03 14:29:20
阅读次数:
590