美文网首页
信号量(二)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 信号量简单使用

    信号量:控制最大的并发数 打印结果 由于信号量为10,所以每次打印10个数。

  • IOS信号量(PV操作)

    一、信号量的简单介绍: 1.信号量: 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设...

  • iOS底层--GCD应用

    手动目录GCD简介信号量信号量的理解信号量的使用信号量的代码实操信号量阻塞哪里的任务?栅栏函数dispatch_b...

  • [java并发编程]基于信号量semaphore实现限流器

    [TOC] 一、什么是信号量 “信号量”在编程术语中使用单词semaphore,那什么是“信号量”?信号量就好比你...

  • 信号量

    信号量的使用: 信号量使用的业务场景: 一、锁 YYKit加锁代码: 二、异步返回 三、控制并发量,降低性能。

  • FreeRTOS学习笔记(4)——信号量

    一、头文件 二、二值信号量 2.1 运作机制 创建信号量时,系统会为创建的信号量对象分配内存,并把可用信号量初始化...

  • iOS进阶-GCD信号量-dispatch_semaphore_

    目录 GCD信号量概念 使用API 实例使用 GCD信号量概念 使用API : dispatch_semaphor...

  • java concurrency <信号量>

    java concurrency <信号量> 使用信号量的目的 线程信号量的目的是使线程能够彼此发送信号。 此外,...

  • FreeRTOS学习笔记(5)——互斥量

    一、头文件 二、互斥量 2.1 基本概念 互斥量又称互斥信号量(本质是信号量),是一种特殊的二值信号量,它和信号量...

  • 信号量

    信号量的使用,其实就是把异步变同步,信号量=0时等待执行,执行完之后把信号量+1,当信号量>0时就可以顺序执行了。...

网友评论

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

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