2 chenyangsocool chenyangsocool 于 2016.04.27 22:08 提问

swift NSOperation多线程无法输出结果
import Foundation

//1.创建其他队列
let queue = NSOperationQueue()

//2.创建NSBlockOperation对象
let operation = NSBlockOperation { () -> Void in
    NSLog("%@", NSThread.currentThread())
}

//3.添加多个Block
for i in 0..<5 {
    operation.addExecutionBlock { () -> Void in
        NSLog("第%ld次 - %@", i, NSThread.currentThread())
    }
}

//4.队列添加任务
queue.addOperation(operation) 

为什么这段代码运行后什么结果都没有输出,原教程里面明明有输出结果的啊!是不是xCode里面需要设置一些地方才可以实现异步多线程?

2个回答

devmiao
devmiao   Ds   Rxr 2016.04.28 07:03
oyljerry
oyljerry   Ds   Rxr 2016.04.28 10:01

先看你的operation是否加成功了,然后就是是否被执行。

chenyangsocool
chenyangsocool 肯定加成功了,教程上就是这么写的。好郁闷
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
swift_多线程基础_最简单用法(GCD, NSOperationQueue, NSThread)
// //  ViewController.swift //  study1-1 // //  Created by admin on 15/12/28. //  Copyright © 2015年 admin. All rights reserved. // import UIKit class ViewController
iOS 多线程编程<十、NSOperationQueue最大并发量、暂停、取消>
NSOperationQueue最大并发量、暂停、取消 需要注意的是,当使用暂停、取消任务时,需要等到正在执行的任务执行完成后,才会执行这个动作。其中取消任务的动作不可逆,取消之后任务不能重新开启。具体代码如下: // // ViewController.m // NSOperation // // Created by fe on 2016/10/19. // Copyright
Swift之NSOperation及其和GCD的区别
NSOperation GCD swift
iOS 多线程处理之栅栏函数和依赖(NSoperationQueue,GCD)
1,NSoperationQueue处理A,B,C三个线程,要求执行完A,B后才能执行C。添加依赖关系,代码:- (void)operation { NSOperationQueue *queue = [[NSOperationQueue alloc] init]; NSBlockOperation *A = [NSBlockOperation blockOpe...
swift之NSOperation的使用
 NSOperation是基于GCD实现,封装了一些更为简单实用的功能,因为GCD的线程生命周期是自动管理,所以NSOperation也是自动管理。NSOperation配合NSOperationQueue也可以实现多线程。              实现步骤:                    第1步:将一个操作封装到NSOperation对象中                    第2步...
iOS多线程编程技术NSThread、Cocoa NSOperation、GCD三者使用详解
简介 iOS有三种多线程编程的技术,分别是: (一)NSThread (二)Cocoa NSOperation (三)GCD(全称:Grand Central Dispatch)
iOS 开发之多线程 (GCD与NSOperation)详解
本文转自:http://dev.dafan.info/detail/226124?p=18 概述 何为多线程? 多线程其实针对单核的CPU来设计的,CPPU同一时间只能执行一条线程,耳朵线程就是让CPU快速的在多个线程之间进行调度 多线程优点: 能够适当提高资源利用率能够适当提高资源利用率 缺点: 开线程需要一定的内存空间,默认一条线程占用栈区间5
多线程、特别是NSOperation 和 GCD 的内部原理
多线程、特别是NSOperation 和 GCD 的内部原理 简介 多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。 然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。 概要提示: iPhone中的线程应用并不是
iOS多线程总结(3)——NSOperation与NSOperationQueue的使用
本篇是多线程总结的第三篇,关于多线程的概念和NSThread的使用写在第一篇,《iOS多线程总结(1)——多线程相关概念及NSObject/NSThread的使用 》,第二篇《iOS多线程总结(2)——GCD》主要讲解GCD的使用,本编是线程实现总结的最后一篇,主要讲解NSOperation的使用。 一. NSOperation 在MacOSXv10.6和iOS4之前,NSOperati
多线程 Block
1 什么是block 对于闭包(block),有很多定义,其中闭包就是能够读取其它函数内部变量的函数,这个定义即接近本质又较好理解。对于刚接触Block的同学,会觉得有些绕,因为我们习惯写这样的程序main(){ funA();} funA(){funB();} funB(){.....}; 就是函数main调用函数A,函数A调用函数B... 函数们依次顺序执行,但现实中不全是这样的,例