zoukankan      html  css  js  c++  java
  • iOS学习笔记31-多线程深入

      /**

         *创建一个队列(串行)

         **/

        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];

  • 相关阅读:
    如何使用idea创建一个java项目
    IntelliJ IDEA 下载安装配置教程
    使用cmd命令输出Hello word
    用js引入css,减少http请求次数,提高响应速度,
    mysql order by limit出现数据丢失问题
    被ASP.NET GridView checkbox选择逼疯的朋友们,请放下你手中的割腕刀
    分发计数器
    mysql 操作
    code site 例子
    kjj
  • 原文地址:https://www.cnblogs.com/adodo/p/5226557.html
Copyright © 2011-2022 走看看