美文网首页
信号量(二)iOS 信号量简单使用

信号量(二)iOS 信号量简单使用

作者: Baby小猪 | 来源:发表于2016-08-24 15:57 被阅读638次

    信号量:控制最大的并发数

    //创建信号为为10
        dispatch_semaphore_t semaphore = dispatch_semaphore_create(10);
        for (int i = 0; i < 100; i++) {
            dispatch_async(dispatch_get_global_queue(0, 0), ^{
                //由于信号量为10 队列里面最多会有10个人任务被执行 信号量-1
                dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
                
                NSLog(@"________%d______",i);
                
                //休眠
                [NSThread sleepForTimeInterval:3];
                
                //信号量+1
                dispatch_semaphore_signal(semaphore);
            });
    

    打印结果

    由于信号量为10,所以每次打印10个数。

    相关文章

      网友评论

          本文标题:信号量(二)iOS 信号量简单使用

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