wuxiios吧 关注:54贴子:877
  • 10回复贴,共1

多线程之操作队列-NSOperationQueue

只看楼主收藏回复

操作队列是对GCD的一次封装简化,它的子类只有两种,
一是NSInvocationOperation,另一个是NSBlockOperation,
而且在理解上也更为清晰:主队列运行在主线程上,自定义队列在后台执行。


IP属地:江苏1楼2014-12-02 16:04回复
    先声明一个自定义的操作队列


    IP属地:江苏2楼2014-12-02 16:16
    收起回复
      块操作(NSBlockOperation)
      1,定义操作

      2,添加到队列


      IP属地:江苏3楼2014-12-02 17:07
      回复
        线程越多越费电,所以应该合理利用线程


        IP属地:江苏4楼2014-12-02 17:09
        回复
          问题:什么时候会创建新线程?
          回答:前面那个线程工作还没有完成,但你又要用,这时候就得新建线程。
          建议:如果你用3g网,就开3个字线程
          如果你用Wi-Fi,就开6个子线程
          为什么这么开:用Wi-Fi的时候,你一般都可以充电,但用3网时,一般都在外面,不方便充电


          IP属地:江苏5楼2014-12-02 17:21
          回复
            调度操作(NSInvocation)-------本质是在队列中调方法
            1,写一个你想调用的方法(和block块没什么本质的区别)

            2,声明一个调度操作并将这个操作添加到队列中


            IP属地:江苏6楼2014-12-02 17:37
            回复
              设置操作的执行顺序----(以块操作为例)--重点是依赖关系
              依赖关系:操作a依赖操作b的意思是b执行完后再执行a
              1,声明几个操作

              2,设定依赖

              3,添加到队列中


              IP属地:江苏7楼2014-12-02 17:50
              回复
                我发现这样总结的效率实在是太低了


                IP属地:江苏8楼2014-12-02 17:50
                回复
                  设置同时并发的线程数量(子线程),主线程就一个
                  〔self.myQueue setMaxConcurrentOperationCount:2〕;(可以省电啊)


                  IP属地:江苏9楼2014-12-02 18:05
                  回复
                    从本质上来看,操作队列的性能会比GCD略低,不过,大多数情况下这点负面影响可以忽略不计,操作队列是并发编程的首选工具


                    IP属地:江苏10楼2014-12-02 18:06
                    回复