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:一直等待

  • 相关阅读:
    springmvc文件下载
    srringmvc中Controller向前端传值
    springmvc文件上传
    springmvc数据绑定流程
    ssm框架restful风格实现增删改查
    ssm框架搭建
    springmvc直接转发
    @RequestParams注解
    个人博客写了两年
    JS使用OSS上传文件遇到的一些问题
  • 原文地址:https://www.cnblogs.com/pocket-mood/p/4448244.html
Copyright © 2011-2022 走看看