IOS中多线程的同步方法
来源:互联网 发布:阿里云虚拟主机代理 编辑:程序博客网 时间:2024/04/28 01:18
}
@interface TestObj : NSObject
- (void)method1;
- (void)method2;
@end
#import "TestObj.h"
@implementation TestObj
- (void)method1{
}
- (void)method2{
}
@end
4.多线程状态下,锁操作
//线程1
使用时,基本方法就是:
[lock lock];
[obj yourMethod];
[lock unlock];
我们称[obj yourMethod]为“关键部分”。
NSLock的执行原理:
某个线程A调用lock方法。这样,NSLock将被上锁。可以执行“关键部分”,完成后,调用unlock方法。
如果,在线程A 调用unlock方法之前,另一个线程B调用了同一锁对象的lock方法。那么,线程B只有等待。直到线程A调用了unlock。
最后,还是看看API中对NSLock的一些说明
@protocol NSLocking
lock 方法
- (void)lock
获得锁
unlock
- (void)unlock
释放锁
@interface NSLock
lockBeforeDate:
- (BOOL)lockBeforeDate:(NSDate *)limit
在指定的时间以前得到锁。YES:在指定时间之前获得了锁;NO:在指定时间之前没有获得锁。
该线程将被阻塞,直到获得了锁,或者指定时间过期。
tryLock
- (BOOL)tryLock
视图得到一个锁。YES:成功得到锁;NO:没有得到锁。
setName:
- (void)setName:(NSString *)newName
为锁指定一个Name
name
- (NSString *)name
返回锁指定的Name
TestObj *obj = [[TestObj alloc] init];
- IOS中多线程的同步方法
- delphi中多线程同步的一些方法
- delphi中多线程同步的一些方法
- JAVA中多线程同步的方法
- 多线程同步的方法
- 多线程同步的方法
- iOS多线程 的 线程同步
- iOS中关于多线程的一些方法
- iOS中实现多线程的方法
- Delphi 中多线程同步的一些处理方法
- Java多线程-线程的同步(同步方法)
- Java多线程-线程的同步(同步方法)
- Java多线程-线程的同步(同步方法)
- 多线程同步方法的区别
- 实现多线程同步的方法
- java多线程的同步方法
- 线程同步和异步的区别?IOS中如何实现多线程的同步?
- Windows中多线程的同步
- 全注解SSH
- org.apache.cxf.spring.remoting.Jsr181HandlerMapping类找不到
- mysql or条件可以使用索引而避免全表
- eclipse中如何把源码打进jar包(创建有源码的jar包,或者有源码如何在eclipse中查看)
- 用gcc编译成可执行程序细节过程
- IOS中多线程的同步方法
- iOS NSString 和NSData 转换
- 1044. Shopping in Mars (25)
- android开发环境搭建
- unity3D物体的旋转和缩放
- block及arc中注意事项
- UVA - 12335 Lexicographic Order (第k大排列)
- oracle
- 键盘控制div移动