您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>通讯/手机编程>

Swift中关于并发的一些干货

大小:0.3 MB 人气: 2017-09-25 需要积分:1

  Swift 中关于并发的一切:第一部分 — 当前2017-07-03 11:35程序设计/操作系统原文地址:All about Concurrency in Swift - Part 1: The Present

  原文作者:Umberto Raimondi

  译文出自:掘金翻译计划

  在 Swift 语言的当前版本中,并没有像其他现代语言如 Go 或 Rust 一样,包含任何原生的并发功能。

  如果你计划异步执行任务,并且需要处理由此产生的竞争条件时,你唯一的选择就是使用外部库,比如 libDispatch,或者 Foundation 和 OS 提供的同步原语。

  在本系列教程的第一部分,我们会介绍 Swift 3 提供的功能,涵盖一切,从基础锁、线程和计时器,到语言守护和最近改善的 GCD 和操作队列。

  我们也会介绍一些基础的并发概念和一些常见的并发模式。

  Swift中关于并发的一些干货

  klingon 示例代码中的关键部分

  即使 pthread 库的函数和原语可以在任一个运行 Swift 的平台上使用,我们也不会在这里讨论,因为对于每个平台,都有更高级的方案。

  NSTimer 类也不会在这里介绍,你可以看一看这里,来了解如何在 Swift 3 中使用它。

  就像已多次公布的,Swift 4.0 之后的主要版本之一(不一定是 Swift 5)会扩展语言的功能,更好地定义内存模型,并包含了新的原生并发功能,可以不需要借助外部库来处理并发,实现并行化,定义了一种 Swift 方式来实现并发。

  这是本系列下一篇文章讨论的内容,我们会讨论一些其他语言实现的替代方法和范式实现,和在 Swift 中他们是如何实现的。并且我们会分析一些用当前版本 Swift 完成的开源实现,这些实现中我们可以使用 Actor 范式,Go 的 CSP 通道,软件事务内存等特性。

  第二篇文章将会完全是推测性的,它主要的目的是为你介绍这些主题,以便你以后可以参与到更热烈讨论当中,而这些讨论将会定义未来 Swift 版本的并发是怎么处理的。

  本文或其他文章的 playground 可以在 或 找到。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!