func loadWithUrlStr(urlStr:String){
let queue = OperationQueue()
print("111")
let blockQueue1 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue1%@",Thread.current)
}
let blockQueue2 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue2%@",Thread.current)
}
let blockQueue3 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue3%@",Thread.current)
}
let blockQueue4 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue4%@",Thread.current)
}
let blockQueue5 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue5%@",Thread.current)
}
let blockQueue6 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue6%@",Thread.current)
}
let blockQueue7 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue7%@",Thread.current)
}
let blockQueue8 = BlockOperation {
for _ in 1 ..< 500000 {
}
print("blockQueue8%@",Thread.current)
}
print("2222")
blockQueue7.addDependency(blockQueue5)
blockQueue5.addDependency(blockQueue2)
blockQueue2.queuePriority = .high
blockQueue5.queuePriority = .high
blockQueue7.queuePriority = .veryHigh
queue.addOperations([blockQueue1,blockQueue2,blockQueue3,blockQueue4,blockQueue5,blockQueue6,blockQueue7,blockQueue8], waitUntilFinished: true)
// 注意一点,添加了依赖关系的会被放到后面执行。
// 没有依赖和优先级:执行的顺序不确定
// 只有依赖:执行的顺序不确定,有依赖的那个最后执行,只能确定依赖的先后顺序,不能确定其他的顺序
// 只有优先级:执行优先级高的,其他顺序不确定
// 有依赖和优先级:先执行依赖,然后执行优先级
}
自己总结NSOperation
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 成长记录-连载(三十六) ——我的第一篇五千字长文,说了什么,你一定想不到 并不是不想每天写公众号,而是之前思考怎...
- 华为近日清退了一批34岁以上的中年员工,都是程序员,原因很容易想得到,中年人精力和创造力方面弱很多,而稀少的管理岗...
- 作者:林欣浩 转载请注明:作者、出处 正方:顺境更有利于人的成长 中山大学(胜) 反方:逆境更有利于人的成长 世新...
- 在photoshop软件里,很多时候需要对文字的处理,如果是大量段落排版的话,如何让文字自动换行呢?这节内容就来详...