Swift中關(guān)于并發(fā)的一些干貨
Swift 中關(guān)于并發(fā)的一切:第一部分 — 當前2017-07-03 11:35程序設計/操作系統(tǒng)原文地址:All about Concurrency in Swift - Part 1: The Present
原文作者:Umberto Raimondi
譯文出自:掘金翻譯計劃
在 Swift 語言的當前版本中,并沒有像其他現(xiàn)代語言如 Go 或 Rust 一樣,包含任何原生的并發(fā)功能。
如果你計劃異步執(zhí)行任務,并且需要處理由此產(chǎn)生的競爭條件時,你唯一的選擇就是使用外部庫,比如 libDispatch,或者 Foundation 和 OS 提供的同步原語。
在本系列教程的第一部分,我們會介紹 Swift 3 提供的功能,涵蓋一切,從基礎鎖、線程和計時器,到語言守護和最近改善的 GCD 和操作隊列。
我們也會介紹一些基礎的并發(fā)概念和一些常見的并發(fā)模式。
klingon 示例代碼中的關(guān)鍵部分
即使 pthread 庫的函數(shù)和原語可以在任一個運行 Swift 的平臺上使用,我們也不會在這里討論,因為對于每個平臺,都有更高級的方案。
NSTimer 類也不會在這里介紹,你可以看一看這里,來了解如何在 Swift 3 中使用它。
就像已多次公布的,Swift 4.0 之后的主要版本之一(不一定是 Swift 5)會擴展語言的功能,更好地定義內(nèi)存模型,并包含了新的原生并發(fā)功能,可以不需要借助外部庫來處理并發(fā),實現(xiàn)并行化,定義了一種 Swift 方式來實現(xiàn)并發(fā)。
這是本系列下一篇文章討論的內(nèi)容,我們會討論一些其他語言實現(xiàn)的替代方法和范式實現(xiàn),和在 Swift 中他們是如何實現(xiàn)的。并且我們會分析一些用當前版本 Swift 完成的開源實現(xiàn),這些實現(xiàn)中我們可以使用 Actor 范式,Go 的 CSP 通道,軟件事務內(nèi)存等特性。
第二篇文章將會完全是推測性的,它主要的目的是為你介紹這些主題,以便你以后可以參與到更熱烈討論當中,而這些討論將會定義未來 Swift 版本的并發(fā)是怎么處理的。
本文或其他文章的 playground 可以在 或 找到。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
Swift中關(guān)于并發(fā)的一些干貨下載
相關(guān)電子資料下載
- 拿下國家級信創(chuàng)認證!中科馭數(shù)KPU SWIFT-2200N成為國內(nèi)首款滿足金融業(yè)嚴苛要求的 163
- 中科馭數(shù)基于DPU的思威SWIFT系列智能網(wǎng)卡與統(tǒng)信軟件產(chǎn)品完成適配 176
- 如何使用Swift提高代碼質(zhì)量 126
- 積木易搭Magic Swift Plus為雕刻工藝品精雕復刻提供三維數(shù)字化解決方案 274
- 詞法分析-Antlr-1 235
- Kotlin 1.8.0發(fā)布,改進性能和Swift的互操作性 1044
- Swift 2023:強調(diào)并發(fā)、泛型和C++互操作性,開發(fā)Swift解析器 300
- 彩色套件創(chuàng)建全彩3D模型MagicSwiftPlus僅千元級 432
- Swift的使用體驗與生態(tài)發(fā)展之路 981
- 如何加速apply函數(shù)600倍的技巧 627