GCD-Class的优先级

经三次测试DispatchQueue中的class优先级顺序是 :

background < utility < default < unspecified < userInitiated < userInteractive

import UIKit


class ViewController: UIViewController {


    override func viewDidLoad() {

        super.viewDidLoad()

        let queuea = DispatchQueue.global(qos: .default)

        queuea.async {

            for i in 0...10 {

                print("this is for queue a", i)

            }

        }

        

        let queueb = DispatchQueue.global(qos: .background)

        queueb.async {

            for j in 1...10 {

                print("this is for queue b", j)

            }

        }

        

        let queuec = DispatchQueue.global(qos: .unspecified)

        queuec.async {

            for x in 1...10 {

                print("this is for queue c", x)

            }

        }

        

        let queued = DispatchQueue.global(qos: .userInitiated)

        queued.async {

            for y in 1...10 {

                print("this is for queue d", y)

            }

        }

        

        let queuee = DispatchQueue.global(qos: .userInteractive)

        queuee.async {

            for w in 1...10 {

                print("this is for queue e", w)

            }

        }

        

        let queuef = DispatchQueue.global(qos: .utility)

        queuef.async {

            for n in 1...10{

                print("this is for queue f", n)

            }

        }

        // Do any additional setup after loading the view, typically from a nib.

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }



}


下面测试结果:

第一次:

this is for queue e 1

this is for queue c 1

this is for queue a 0

this is for queue d 1

this is for queue f 1

this is for queue b 1

this is for queue e 2

this is for queue c 2

this is for queue d 2

this is for queue a 1

this is for queue f 2

this is for queue e 3

this is for queue c 3

this is for queue d 3

this is for queue a 2

this is for queue e 4

this is for queue f 3

this is for queue c 4

this is for queue d 4

this is for queue a 3

this is for queue e 5

this is for queue c 5

this is for queue f 4

this is for queue d 5

this is for queue e 6

this is for queue a 4

this is for queue c 6

this is for queue e 7

this is for queue d 6

this is for queue a 5

this is for queue f 5

this is for queue c 7

this is for queue e 8

this is for queue d 7

this is for queue a 6

this is for queue c 8

this is for queue f 6

this is for queue e 9

this is for queue d 8

this is for queue a 7

this is for queue c 9

this is for queue e 10

this is for queue f 7

this is for queue d 9

this is for queue a 8

this is for queue c 10

this is for queue f 8

this is for queue d 10

this is for queue a 9

this is for queue f 9

this is for queue a 10

this is for queue f 10

this is for queue b 2

this is for queue b 3

this is for queue b 4

this is for queue b 5

this is for queue b 6

this is for queue b 7

this is for queue b 8

this is for queue b 9

this is for queue b 10


第二次:

this is for queue e 1

this is for queue a 0

this is for queue d 1

this is for queue c 1

this is for queue f 1

this is for queue b 1

this is for queue e 2

this is for queue a 1

this is for queue e 3

this is for queue e 4

this is for queue e 5

this is for queue e 6

this is for queue e 7

this is for queue e 8

this is for queue e 9

this is for queue e 10

this is for queue d 2

this is for queue a 2

this is for queue c 2

this is for queue f 2

this is for queue d 3

this is for queue a 3

this is for queue d 4

this is for queue a 4

this is for queue d 5

this is for queue a 5

this is for queue d 6

this is for queue a 6

this is for queue d 7

this is for queue a 7

this is for queue d 8

this is for queue a 8

this is for queue d 9

this is for queue a 9

this is for queue d 10

this is for queue a 10

this is for queue c 3

this is for queue c 4

this is for queue c 5

this is for queue c 6

this is for queue c 7

this is for queue c 8

this is for queue c 9

this is for queue c 10

this is for queue f 3

this is for queue f 4

this is for queue f 5

this is for queue f 6

this is for queue f 7

this is for queue f 8

this is for queue f 9

this is for queue f 10

this is for queue b 2

this is for queue b 3

this is for queue b 4

this is for queue b 5

this is for queue b 6

this is for queue b 7

this is for queue b 8

this is for queue b 9

this is for queue b 10


第三次测试结果:

this is for queue e 1

this is for queue d 1

this is for queue c 1

this is for queue a 0

this is for queue f 1

this is for queue b 1

this is for queue e 2

this is for queue e 3

this is for queue e 4

this is for queue e 5

this is for queue e 6

this is for queue e 7

this is for queue e 8

this is for queue e 9

this is for queue e 10

this is for queue d 2

this is for queue d 3

this is for queue d 4

this is for queue d 5

this is for queue d 6

this is for queue d 7

this is for queue d 8

this is for queue d 9

this is for queue d 10

this is for queue c 2

this is for queue c 3

this is for queue c 4

this is for queue c 5

this is for queue c 6

this is for queue a 1

this is for queue c 7

this is for queue a 2

this is for queue c 8

this is for queue a 3

this is for queue c 9

this is for queue a 4

this is for queue c 10

this is for queue a 5

this is for queue a 6

this is for queue a 7

this is for queue a 8

this is for queue a 9

this is for queue a 10

this is for queue f 2

this is for queue f 3

this is for queue f 4

this is for queue f 5

this is for queue f 6

this is for queue b 2

this is for queue f 7

this is for queue b 3

this is for queue f 8

this is for queue b 4

this is for queue f 9

this is for queue b 5

this is for queue f 10

this is for queue b 6

this is for queue b 7

this is for queue b 8

this is for queue b 9

this is for queue b 10





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值