美文网首页
多线程底层原理

多线程底层原理

作者: iOS白水 | 来源:发表于2019-05-10 11:28 被阅读0次

1.多线程技术方案:


image.png

2.performSelector
要开启RunLoop才能开启

3.多读单写
多线程: 异步+加锁(并发队列+dispatch_barrier_async )
多线程: 异步+加锁 (串行队列 )

- (id)objectForKey:(NSString *)key
{
    __block id obj;
    // 同步读取指定数据  立马得到结果的
    dispatch_sync(concurrent_queue, ^{
        obj = [userCenterDic objectForKey:key];
    });
    return obj;
}

- (void)setObject:(id)obj forKey:(NSString *)key
{
    // 异步栅栏调用设置数据
    dispatch_barrier_async(concurrent_queue, ^{
        [userCenterDic setObject:obj forKey:key];
    });
}

4.NSOperation
添加任务依赖;任务执行状态控制;最大并发量

5.锁
NSLock\atomic\OSSpinlock\NSRecuri\NSLock\Dispatch_

@Sy单例对象
atomic:赋值。 直接add、delete 是不保证变量。
OSSpinlock:循环等待访问。

参考:
http://www.cocoachina.com/ios/20190606/27040.html

相关文章

  • 2022年iOS面试题2

    重点总结-四大分类: iOS底层原理性能优化以及架构多线程、网络数据结构算法iOS底层原理(必问):iOS开发必备...

  • 2022-09-20

    Runloop runtime kvo kvo多线程sdwebimage afnetwork底层原理内存管理定时器...

  • 多线程底层原理

    1.多线程技术方案: 2.performSelector要开启RunLoop才能开启 3.多读单写多线程: 异步...

  • 底层原理:多线程

    iOS中常见多线程方案 NSThread 、 GCD 和 NSOperation 底层都是依赖于 pthread ...

  • iOS底层原理 - 多线程原理

    章前回顾 上章我们了解了锁的一些知识,线程安全需要锁的协助。这章我们探索一下多线程原理篇; 初识 周知,了解多线程...

  • iOS 底层探索:多线程基础

    iOS 底层探索: 学习大纲 OC篇[/p/9d73ee7aae64] 前言 这篇开始探索多线程的底层原理,这篇主...

  • Today面试

    Runloop 底层原理Kvo 底层原理ARC 底层原理 如何实现GCD 底层原理Block 底层原理Aut...

  • iOS底层原理-多线程

    多线程相关知识: 同步线程:dispatch中的sync函数,即是在当前线程做事情 异步函数:dispatch中的...

  • 底层原理(八)------多线程

    iOS中常见的多线程方案 控制器命令:c:过掉step:输出汇编stepi:进入这个汇编函数 简称si NSThr...

  • Java基础16:Java多线程基础最全总结

    本文介绍了Java多线程的基本概念,使用方法,以及底层实现原理。帮助你更好地使用Java的多线程。 具体代码在我的...

网友评论

      本文标题:多线程底层原理

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