博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS学习笔记31-多线程深入
阅读量:7090 次
发布时间:2019-06-28

本文共 1100 字,大约阅读时间需要 3 分钟。

  /**

     *创建一个队列(串行)

     **/

    dispatch_queue_t queue1 = dispatch_queue_create("queue1", DISPATCH_QUEUE_SERIAL);

    

    /**

     *添加代码块 执行线程的路径

     **/

    dispatch_async(queue1, ^{

        for (int i = 0; i<100; i++) {

            NSLog(@"线程一,%d",i);

        }

    });

 

 

 

 

用C语言函数的方式创建线程

    dispatch_sync_f(queue1, NULL, treadFun);//用线程函数的方式作为线程的路径

 

 

 

void treadFun(){

    for (int i =0 ; i<100; i++) {

        NSLog(@"线程2,%d",i);

    }

 

}

 

 

//    dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, 2*NSEC_PER_SEC);

//    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

//    dispatch_after(time, queue, ^{

//        NSLog(@"222");

//    });

 

 

上面代码等价于

 NSLog(@"11111");

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

        NSLog(@"2222222");

    });

 

 

 

/**

 *过一段时间后才执行

 1,dispatch_after

 2,NSObject performSelector

 3,timer 定时器方法

 **/

 

 

 

 [super viewDidLoad];

    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(myfun) userInfo:nil repeats:YES];

    

    [timer invalidate];

 

 

 

//    [self performSelector:@selector(myfun) withObject:nil afterDelay:5.0];

 

转载于:https://www.cnblogs.com/adodo/p/5226557.html

你可能感兴趣的文章
一张图介绍CCIE
查看>>
Servlet容器启动过程
查看>>
CentOS安装配置nagios(1)
查看>>
RedHat 6.4 搭建rhcs集群
查看>>
三生万物:决策树
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Python爬虫框架Scrapy学习笔记原创
查看>>
大数据时代怎么做
查看>>
java基本语法
查看>>
细说HTTP之上篇
查看>>
将Eclipse Maven项目 导入 IDEA 步骤 成功运行 已测试!~LC
查看>>
Exchange Server 2010的俩种版本比较
查看>>
asp.net 插入视频
查看>>
laravel中的表单请求类型和CSRF防护(六)
查看>>
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多...
查看>>
我的友情链接
查看>>
监控指定文件所有机器的网络状况
查看>>
11、网络--Linux Bridge(网桥基础)
查看>>
监控apache脚本原理
查看>>