zoukankan      html  css  js  c++  java
  • IOS多线程技术浅谈

       多线程的根本目的和优势在于:

         (1)充分发挥多核处理器优势,将不同线程任务分配给不同的处理器,真正进入“并行运算”状态;
         (2)将耗时的任务分配到其他线程执行,由主线程负责统一更新界面会使应用程序更加流畅,使得用户体验更好;
         (3)当硬件处理器的数量增加,程序会运行更快,而程序无需做任何调整.
      
       但是:
          很多人以为开多条线程,会提高单个算法本身的执行效率,这是一个典型的误区,它只是并发执行多项任务,在时间片之间快速切换.
     
       目前流行的三中iOS多线程技术,本人还是偏爱GCD( Grand Central Dispatch)来做一些开线程的任务处理,原因很简单:TA是基于C语言的底层API,提供了很多block回调方法,使用起来非常灵活便捷,其提供的底层函数使得我们在处理业务时控制力更加强大!!!!
       
      GCD中最有用的算是串行异步了:
       dispatch_queue_t q = dispatch_queue_create("提示信息", DISPATCH_QUEUE_SERIAL);
       dispatch_async(q, ^{

        NSLog(@"串行异步 %@", [NSThread currentThread]);

       });

      异步操作会根据进程创建新的线程,而且其执行是有序的,不会影响到主线程才是根本,  哎呀,太晚了,明天再写一个小demo,进一步体会c的强大之处!!!!!

  • 相关阅读:
    Oracle 10g 改机器名后监听不能启动 解决方案 TNS12541 TNS12545
    14.3.1 IMPDP 命令行选项
    14.3.2 调用IMPDP —— 导入表空间
    三十岁之前不必在乎的事
    正则表达式
    GridLayout and GridData
    非UI线程更新界面
    整理用Java实现数字转化成字符串左边自动补零方法
    stackLayout
    读写properties文件
  • 原文地址:https://www.cnblogs.com/e8net/p/3738012.html
Copyright © 2011-2022 走看看