线程锁 ---- NSLock , @synchronized 和 dispatch_semaphore_t
来源:互联网 发布:网络做兼职是真的吗 编辑:程序博客网 时间:2024/05/22 17:09
<pre name="code" class="objc">-(void)methodA{ NSLog(@"%@",NSStringFromSelector(_cmd));}-(void)methodB{ NSLog(@"%@",NSStringFromSelector(_cmd));}- (void)viewDidLoad { [super viewDidLoad]; dispatch_semaphore_t semaphore = dispatch_semaphore_create(2); //线程1 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //等待信号 dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); //操作处理 [self methodA]; sleep(2); //发送信号 dispatch_semaphore_signal(semaphore); }); //线程2 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ sleep(1); //等待信号 dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); //操作处理 [self methodB]; //发送信号 dispatch_semaphore_signal(semaphore); }); }
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ @synchronized(self){ [self methodA]; sleep(3); } }); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ sleep(1); @synchronized(self){ [self methodB]; } });
-(void)methodA{ NSLog(@"%@",NSStringFromSelector(_cmd));}-(void)methodB{ NSLog(@"%@",NSStringFromSelector(_cmd));}- (void)viewDidLoad { [super viewDidLoad]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ @synchronized(self){ [self methodA]; sleep(3); } }); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ sleep(1); @synchronized(self){ [self methodB]; } }); }
0 0
- 线程锁 ---- NSLock , @synchronized 和 dispatch_semaphore_t
- iOS 多线程同步策略之-----锁NSLock和@synchronized
- iOS锁synchronized OSSpinlock NSLock
- ios中常用的线程同步策略-synchronized和NSLock
- iOS线程锁NSLock案例(卖火车票)
- IOS线程数据篇4之线程之间的同步:synchronized NSlock pthread_mutex_t dispatch_semaphore_create
- iOS经典讲解之线程锁NSLock案例(卖火车票)
- ios 异步线程 NSLock 小结
- ios 异步线程 NSLock 小结
- NSLock/NSRecursiveLock/NSConditionLock/@synchronized 详细解释
- @synchronized, NSLock, pthread, OSSpinLock showdown, done right
- [ios]NSLock锁
- [ios]NSLock锁
- 线程和synchronized
- Synchronized和线程安全
- 线程锁 synchronized
- java线程锁 synchronized
- 线程锁关键字@synchronized
- 推荐12个非常不错而且免费的后台管理HTML模板
- effective java-generic
- java stack vs heap
- Eclipse常用插件推荐
- 1090.Highest Price in Supply Chain
- 线程锁 ---- NSLock , @synchronized 和 dispatch_semaphore_t
- Xmpp问题总结:处理Openfire 中文乱码问题(2)
- 第十八周项目1-5:升序建立链表
- HDU3031及左偏树模板
- ITOO-EasyUI动态菜单加载
- 蓝桥杯 数字字符串互转
- unity加载与链表
- PHP学习笔记之用php绘制表格示例
- Debian firefox 手动更新