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