多线程 NSCondition线程同步

作者: 一枚小菜鸟 | 来源:发表于2016-05-04 09:44 被阅读72次
#import "ViewController.h"

@interface ViewController ()

{
    NSCondition *_condition;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    _condition = [[NSCondition alloc] init];
    
    //创建消费者线程 等待生产者完成任务后执行
    [self performSelectorInBackground:@selector(waitAction) withObject:nil];
    
    [self performSelector:@selector(makeProduct) withObject:nil afterDelay:3];
}

//消费者等待
-(void)waitAction
{
    NSLog(@"pay.....");
    NSLog(@"wait.....");
    //加锁
    [_condition lock];
    
    //等待
    [_condition wait];
    
    NSLog(@"drink......");
    
}

//生产者
-(void)makeProduct
{
    NSLog(@"made in china");
    
    //发送信号
    [_condition signal];
}
@end

相关文章

  • 线程锁

    探讨iOS开发中各种锁使用NSCondition实现多线程同步 NSCondition是线程同步, 阻塞线程。 取...

  • 多线程 NSCondition线程同步

  • 起底多线程同步锁(iOS)

    起底多线程同步锁(iOS) 起底多线程同步锁(iOS)

  • python防遗忘复习练手之:多线程

    多线程 线程同步

  • OpenMP多线程——Parallel for

    多线程——线程同步 数据竞争问题 线程互斥同步——critical 线程互斥同步——atmoic 线程互斥同步——...

  • iOS线程同步

    线程同步 提到多线程大家肯定会提到锁,其实真正应该说的是多线程同步,锁只是多线程同步的一部分。 多线程对于数据处理...

  • 5月份第一周学习安排

    学习内容: java多线程及线程同步的方法(使用) java多线程各种同步方法的原理和优缺点 java多线程设计模...

  • iOS 信号量dispatch_semaphore_t

    信号量是一个好东东,可以用于线程同步,侬晓得伐~线程同步有很多种方式,NSLock,NSCondition,NSC...

  • iOS 多线程基础

    转自:iOS 多线程基础 - 简书 多线程同步和异步的区别?IOS中如何实现多线程的同步? 异步:可以同时执行多条...

  • iOS - Multi-Thread

    概念篇 进程 线程 多线程 单核多线程 & 多核多线程 并行 & 并发 同步 & 异步 队列 队列 & 任务 的执...

网友评论

    本文标题:多线程 NSCondition线程同步

    本文链接:https://www.haomeiwen.com/subject/alyrrttx.html