美文网首页
swift 的Operation

swift 的Operation

作者: FengxinLi | 来源:发表于2017-10-17 14:35 被阅读11次

学习 原文链接 http://www.jianshu.com/p/443a18031366

override func viewDidLoad() {

super.viewDidLoad()

basicOperation() //basicOperation() 25 {number = 3, name = (null)}

createBasicBloclQueue() //createBasicBloclQueue() 33 {number = 1, name = main

}

private func  basicOperation(){

let op = Operation.init()

op.completionBlock = {

print(#function,#line,Thread.current)

}

let opQueue = OperationQueue.init()

opQueue .addOperation(op)

}

private  func createBasicBloclQueue(){

let operation = BlockOperation.init {

print(#function,#line,Thread.current)

}

operation.start();

}

运行结果我已经写在后面了

创建完Operation如果直接运行,就会在当前线程执行。也就是说,如果实在主线程创建并且start的,那就会在主线程执行;如果是在子线程创建并且start的,那就会在子线程执行。

Operation中表示优先级的属性是queuePriority,表示操作在队列中的优先级。

extension Operation {

public enum QueuePriority : Int {

case veryLow

case low

case normal

case high

case veryHigh

}

}

这些优先级都是相对的,并不是是说必须要执行完最高的才执行次重要的。这里面并没有一个特别严格顺序。只是在分配资源上有倾向性。如果队列需要有严格的执行顺序,还是要添加依赖关系的

OperationQueue的优先级qualityOfService 

public enum QualityOfService : Int {

case userInteractive

case userInitiated

case utility

case background

case `default`

}

相关文章

  • Swift 5.x 多线程

    Swift多线程编程方案: Thread Cocoa Operation (Operation 和 Operati...

  • iOS-Swift相关

    swift程序. 1.Swift多线程之Operation:异步加载CollectionView图片2.Swift...

  • swift 的Operation

    学习 原文链接 http://www.jianshu.com/p/443a18031366 override fu...

  • GCD

    雷纯锋的技术博客 iOS 并发编程之 Operation Queues 在Swift中应用Grand Centra...

  • iOS多线程浅谈-Thread

    iOS swift多线程主要包括Thread,GCD,Operation 1.Thread三种 方式1 方式2: ...

  • Swift多线程开发系列

    这个系列文章一共有10篇, 涵盖了GCD和Operation的使用和注意点。 前置知识: Swift 适读人群: ...

  • Swift并发编程(二)Operation

    书接上回,GCD提供了实现并发的大多数功能。可对于一些高度定制化的,可复用性极高的代码,GCD显得有点啰嗦。总不能...

  • Swift进阶 - Concurrency之Operation

    二、Operation 上篇文章我们看了GCD,这篇我们来讨论一下Operation。相较于GCD,Operati...

  • Swift- 多线程编程 Operation

    相关文章:NSOperation 项目Demo代码 一、NSOperation子类 NSOperation是一个抽...

  • Swift多线程之Operation(一)

    自定义Operation子类: 代码实现: 定义_executing,_finished的原因是因为它们只有对应的...

网友评论

      本文标题:swift 的Operation

      本文链接:https://www.haomeiwen.com/subject/pprduxtx.html