苹果将\u200b\u200b低级原子操作引入Swift语言
苹果已经发布了Swift Atomics,这是一个开放源代码软件包,使系统程序员可以直接使用Swift语言构建同步结构,例如并发数据结构。\n\nAtomics库于10月1日推出,可在GitHub上使用,可在Swift中直接使用低级原子操作。在各种Swift类型(包括整数和指针值)上都启用了原子操作。\u003cbr\u003e提供了用于原子操作的API,这些API遵循Swift API的设计原则。\n\n苹果公司确实提供了一些警告:底层的操作工作在非常低的抽象水平上。 Swift标准库团队的苹果工程师Karoy Larentey说,众所周知,原子原子比低级并发结构更难正确使用。\u003cbr\u003e\n\n在swift.org上发布了原子操作的示例:\n\nimport Atomicsimport Dispatchlet counter \u003d ManagedAtomic(0)DispatchQueue.concurrentPerform(iterations:10){_ in for _ in 0。\u003cbr\u003e。\u003c1_000_000 {counter.wrappingIncrement(by:1,1,ordering:。\u003cbr\u003e relaxed) .load(顺序:.relaxed)//⟹10_000_000\n\n}\n\n作者指出,这些操作不遵循Swift变量的常规排他性规则。\u003cbr\u003e原子操作可以从多个并发的执行线程中执行,只要该值只能通过原子操作访问即可。\n\nAtomics是通过Swift提议而启用的,该提议为Swift采用了C / C ++内存样式,并描述了常规Swift代码如何与原子操作互操作。新程序包中的大多数API均来自演进提案的先前版本。\u003cbr\u003e\n\nAtomics计划要求增加更多类型并改进当前的测试套件。标记原子被注视着,为解决并发数据结构的问题提供了一种工具。已经建立了一个原子论坛来讨论该技术。\u003cbr\u003e另外,还要求支持原子浮点运算。\n\n版权所有©2020 IDG Communications,Inc.\n\n随时了解InfoWorld为软件开发人员,分析师,数据库程序员和数据科学家提供的新闻通讯。\u003cbr\u003e\n\n从我们仅限会员的内幕文章中获取专家见解。
Yorumlar
Yorum Gönder