zoukankan      html  css  js  c++  java
  • 多线程(pthread、NSThread、GCD)

    pthread

    C语言编写

    跨平台可移植

    线程生命周期需要我们来管理

    使用困难

    NSThread

    面向对象的

    可直接操作线程对象

    线程生命周期需要我们来管理

    使用简单

    资源互斥(@synchronized(self)加锁,必须是同一把锁)


    GCD 为了利用多核并行提出的方案
    同步 不具备开启线程的能力
    异步 具备开启线程的能力


    并行 可以多个任务同时执行 任务要等到当前函数执行完成之后再开始
    串行队列 不可以多个任务同时执行 任务要立刻执行

    同步函数串行队列中的任务 不开启新的线程 串行执行
    同步函数并行队列中的任务 不开启新的线程 串行执行
    异步函数串行队列中的任务 开启一个新的线程 串行执行
    异步函数并行队列中的任务 开启新的线程 并行执行
    同步函数主队列中的任务 死循环
    异步函数主队列中的任务 不开启新的线程 串行执行

    在同步函数中执行串行队列的任务,如果任务中嵌套了要在当前串行队列执行的任务,就会死循环

    barrier(不能用全局的并发队列,要自己创建)

    apply(迭代)

    once(once_token整个程序运行过程中执行一次)

    group

  • 相关阅读:
    SpringBoot自定义starter
    Vue中$nextTick()用法
    Vue中filters使用data的数据
    Vue页面生成二维码
    Vue页面实现打印功能
    Vue中监听(watch)的使用
    Vue中判断对象属性是否存在
    大三寒假学习进度(十九)
    大三寒假学习进度(十八)
    大三寒假学习进度(十七)
  • 原文地址:https://www.cnblogs.com/sea-star3/p/5301005.html
Copyright © 2011-2022 走看看