线程安全(NSTread互斥锁)

互斥锁(同步锁):有效的防止因多线程抢夺资源造成的数据安全问题.因为线程等待,需要消耗大量的CPU资源.

线程同步:指线程在同一条线上执行(按顺序的执行任务)

 self.tickets = 1000;

    self.th1 = [[NSThread alloc]initWithTarget:self selector:@selector(sellTickets:) object:nil];

    self.th1.name = @"小丽";

    [self.th1 start];

    

     self.th2 = [[NSThread alloc]initWithTarget:self selector:@selector(sellTickets:) object:nil];

    self.th2.name = @"校长";

    [self.th2 start];

    

     self.th3 = [[NSThread alloc]initWithTarget:self selector:@selector(sellTickets:) object:nil];

    self.th3.name = @"小明";

    [self.th3 start];

    // Do any additional setup after loading the view, typically from a nib.

}

-(void)sellTickets:(id)obj{

    while (self.tickets > 0) {

        @synchronized (self) {

            if (self.tickets >0) {

                 NSLog(@"%@ 买了一张票,还剩%ld张",[NSThread currentThread].name, --self.tickets );

            }else{

                NSLog(@"票卖完了");

            }       

        } 

    }

}

 

转载于:https://www.cnblogs.com/PJXWang/p/5948748.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值