#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
多线程 NSCondition线程同步
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 共17篇博文【白话经典算法系列之十七】 数组中只出现一次的数数组A中,除了某一个数字x之外,其他数字都出现了三次,...