我正在编写一个Swift客户端,以与嵌入式系统上的服务器(用C编写)进行通信。它与iOS / OSX不相关,因为我正在使用最近发布的Ubuntu版本。
Swift是否对并发有任何本机支持?我知道苹果公司不鼓励开发人员使用线程,并鼓励通过GCD移交任务以分派队列。问题在于,GCD似乎仅在达尔文上存在(而NSThread是Cocoa的一部分)。
例如,C ++ 11和Java将线程和并发作为其标准库的一部分。我知道可以在某种C包装程序下使用特定于平台的东西(例如uniix上的posix),但是对我来说,这真的使使用Swift的初衷(干净,易于理解的代码等)失去了意义。
从Swift的GitHub引用,有一个关于“进化”的自述文件:
并发性:Swift 3.0完全依赖于平台并发原语(libdispatch,Foundation,pthreads等)进行并发。语言对并发的支持是经常要求的并且可能是高价值的功能,但是太大而无法在Swift 3.0中使用。
我想这意味着在可预见的将来,没有线程级的语言级“基元”正在准备中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句