美文网首页
设置请求并发数

设置请求并发数

作者: 小凡凡520 | 来源:发表于2019-10-11 15:53 被阅读0次
一、请求超时
// 设置请求最大并发数
URLSessionConfiguration().httpMaximumConnectionsPerHost = xxxx
二、多任务无顺序
  • 自动关联
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    let group = DispatchGroup()
    
    DispatchQueue.global().async(group: group, execute: {
        print("1")
    })
    DispatchQueue.global().async(group: group, execute: {
        print("2")
    })
    DispatchQueue.global().async(group: group, execute: {
        print("3")
    })
    DispatchQueue.global().async(group: group, execute: {
        print("4")
    })
    DispatchQueue.global().async(group: group, execute: {
        print("5")
    })
    DispatchQueue.global().async(group: group, execute: {
        print("6")
    })
    
    group.notify(queue: DispatchQueue.main) {
        print("end")
    }
}
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    let block = BlockOperation {
        print("1")
    }
    block.addExecutionBlock {
        print("2")
    }
    block.addExecutionBlock {
        print("3")
    }
    block.addExecutionBlock {
        print("4")
    }
    block.addExecutionBlock {
        print("5")
    }
    block.addExecutionBlock {
        print("6")
    }
    block.addExecutionBlock {
        print("7")
    }
    
    // 监听任务完成
    block.completionBlock = {
        print("end")
    }
    block.start()
}
  • 手动关联
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    let group = DispatchGroup()
    
    group.enter()
    DispatchQueue.global().async {
        print("1")
        group.leave()
    }
    group.enter()
    DispatchQueue.global().async {
        print("2")
        group.leave()
    }
    group.enter()
    DispatchQueue.global().async {
        print("3")
        group.leave()
    }
    group.enter()
    DispatchQueue.global().async {
        print("4")
        group.leave()
    }
    group.enter()
    DispatchQueue.global().async {
        print("5")
        group.leave()
    }
    group.enter()
    DispatchQueue.global().async {
        print("6")
        group.leave()
    }
    
    group.notify(queue: DispatchQueue.main) {
        print("end")
    }
}
三、多任务有顺序
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    let block1 = BlockOperation {
        print("1")
    }
    let block2 = BlockOperation {
        print("2")
    }
    let block3 = BlockOperation {
        print("3")
    }
    let block4 = BlockOperation {
        print("4")
    }
    let block5 = BlockOperation {
        print("5")
    }
    block2.addDependency(block1)
    block3.addDependency(block2)
    block4.addDependency(block3)
    block5.addDependency(block4)
    
    block1.start()
    block2.start()
    block3.start()
    block4.start()
    block5.start()
}

相关文章

  • 设置请求并发数

    一、请求超时 二、多任务无顺序 自动关联 手动关联 三、多任务有顺序

  • Tomcat 请求线程的解析

    查询tomcat当前并发连接数 关于tomcat 请求线程的问题 Tomcat 请求线程数

  • iOS中AFNetworking的实现分析

    1.AFN进行数据请求会开辟多条线程吗? 1)这里在operation队列中设置了最大并发数是1,让所有网络请求和...

  • 信号量Semaphore

    异步并发控制线程数 dispatch_semaphore_create 设置最大并发数 dispatch_sema...

  • 压力测试

    压力测试需要注意点: 并发数 请求文件的大小和请求数量的笛卡尔积 在请求数相同的情况下,最大支持的用户并发数 压力...

  • Dubbo 并发控制

    消费端并发控制 在服务消费方设置接口中每个方法并发请求个数,通过设置actives参数。 在服务消费方设置接口中的...

  • iOS网络优化之设置合理请求并发数

    作者大神Q原创,谢绝转载,谢谢,demo地址 NetworkArchitecture。 现在写文章越来越感觉有点累...

  • ab压测基本命令

    ab [options] url options. -n 请求数量-c 并发数-H 请求头-p POS...

  • Jmeter介绍及视频教程

    1、常用测试原件: 测试计划:默认 线程组:并发数、并发时间、并发次数 采样器:较常用HTTP请求、JDBC Re...

  • 问题记录 | 并发数、吞吐量、带宽

    并发数(Concurrency):同时处理的请求数。 吞吐量(Throughput):单位时间内处理请求的数量。 ...

网友评论

      本文标题:设置请求并发数

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