美文网首页
iOS 中线程安全且高吞吐量的模型

iOS 中线程安全且高吞吐量的模型

作者: Baoger | 来源:发表于2021-03-30 11:55 被阅读0次

线程安全且高吞吐量的模型,意思就是多读单写的的意思,来自《高性能iOS应用开发》一书中4.5.4节,swift实现如下:

1、定义一个并发线程:

let stateQueue: DispatchQueue = DispatchQueue(label: "com.taskOperation.stateQueue", attributes: .concurrent)

2、get 方法实现:

 return stateQueue.sync {  _state } 

3、set方法实现

stateQueue.sync(flags: .barrier) { self._state = newValue }

注意点:

1、将stateQueue.sync用于不修改状态的操作,如get方法

2、将stateQueue.sync(flags: .barrier) 或 stateQueue.async(flags: .barrier)用于可能修改状态的操作,如set方法

3、barrier 允许在并发队列中创建同步点,在barrier前提交的任务全部执行完成后会执行barrier中提交的任务,之后在执行barrier后提交的任务,保证在线程安全的前提下实现多次读取数据,单次写入数据。

相关文章

  • iOS 中线程安全且高吞吐量的模型

    线程安全且高吞吐量的模型,意思就是多读单写的的意思,来自《高性能iOS应用开发》一书中4.5.4节,swift实现...

  • iOS-手机缓存模型

    一:HPCache 一个简单的线程安全且高吞吐量的模型,用于存储简单数据,支持model存储,无需转换。 二:思路...

  • Netty线程模型

    线程模型设计的好坏,决定了系统的吞吐量,并发性和安全性能架构质量属性。Netty线程模型被精心的设计,既提升了并发...

  • 高并发Java

    高并发Java(1):前言 高并发Java(2):多线程基础 高并发Java(3):Java内存模型和线程安全 高...

  • IOS中的锁

    前言 在学习ios中的锁之前,我们先理了解线程安全的概念。 线程安全(thread safety) 线程安全就是多...

  • OC--各种线程锁

    参考:正确使用多线程同步锁@synchronized()iOS中的锁iOS多线程安全详解iOS 常见知识点(三):...

  • iOS 多线程

    iOS中的各种锁iOS多线程到底不安全在哪里?

  • SQLite 线程安全和并发

    SQLite 与线程 SQLite是线程安全的。 线程模型 SQLite支持如下三种线程模型 单线程模型这种模型下...

  • 细数iOS中的线程同步方案(一)

    细数iOS中的线程同步方案(一)细数iOS中的线程同步方案(二) 多线程安全问题 多个线程可能访问同一块资源,比如...

  • IOS多线程安全(线程锁)

    线程安全 线程的不安全是由于多线程访问和修改共享资源而引起的不可预测的结果。ios多线程开发中为保证线程的安全常用...

网友评论

      本文标题:iOS 中线程安全且高吞吐量的模型

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