zoukankan      html  css  js  c++  java
  • 4-22 学习心得

    ARC 只能作用于 Objective-C 对象

    1.sleep(unsigned int);

    该函数给当前线程挂起给定时间(unsigned int)秒后继续执行下一句。(使程序睡眠)

    例如:

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            int i = 10;

            NSLog(@"开始阻塞了");

            dispatch_queue_t queue = dispatch_queue_create("lmp", nil);

            dispatch_sync(queue, ^{

                NSLog(@"&&&&&&&");

                sleep(i / 5);

                NSLog(@"----%d----",i);

                

            });

                    // ARC模式不需要这句,没开的就要写上

    //        dispatch_release(queue);

            NSLog(@"阻塞了两秒");

        }

        return 0;

    }

     

    打印结果:

    2015-04-22 14:03:14.229 学习-多线程[1255:47112] 开始阻塞了

    2015-04-22 14:03:14.230 学习-多线程[1255:47112] &&&&&&&

    2015-04-22 14:03:16.231 学习-多线程[1255:47112] ----10----

     

    2015-04-22 14:03:16.231 学习-多线程[1255:47112] 阻塞了两秒

     

    2. dispatch_semaphore 信号量基于计数器的一种多线程同步机制

    // 创建

    dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);

    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

     

    semaphore计数大于等于1:程序继续运行

    计数-1:返回

    计数为0:等待       

    DISPATCH_TIME_FOREVER:一直等待

  • 相关阅读:
    一些个人看到觉得还不错的资料,现在先把记得的保存下来,以后碰到会继续更新
    鼠标 mouseover和mouseout事件
    phpqrcode 生成二维码
    django url路径与模板中样式相对路径的问题
    js parseInt和map函数
    WebService 布置简单的计算器
    java ++的使用
    java 运算符
    Java的概念
    public 有跟没有的区别
  • 原文地址:https://www.cnblogs.com/pocket-mood/p/4448244.html
Copyright © 2011-2022 走看看