Rust并发模式导读:No context, no cancel, no leaks
在上一篇文章里,使用Rust实现类似于Go的管道模式。但是在Go中,需要使用Context(上下文)来防止内存泄漏。
Go语言,表面看起来好像比Rust更简单。但是面对当前的问题,Rust解决的方式更简单。由于Rust的语言特性,比如迭代器、Drop、所有权等,所以我们基本不需要写多余的代码来处理资源泄漏的问题。
(虽然Rust是保证内存安全,但实际上资源泄漏不在这个内存安全的范围内,纵然如此,使用Rust也很难资源泄漏,除非是通过精心构造循环引用)
所以在Rust中不需要Context这种东西。
本文主要是依赖第二篇的例子来说明,用Rust编写并发代码时候,处理垃圾,防止资源泄漏有多简单。 比如在for循环中,达到条件break出来之后,将channel的reciver直接丢弃即可,Rust中的所有权机制会帮助你处理。
MacOS上dota2的可移植基准测试
gfx-rs是一个Rust项目,旨在使图形编程更易于访问和移植,专注于公开类似Vulkan的通用API。它是一个具有多个后端的单个Rust API,可实现它:Direct3D 12/11,Metal,Vulkan甚至OpenGL
Valve 是最先采用 MoltenVK(利用 Metal 实现的 Vulkan API 子集) 的公司之一,该公司一直在为 Dota 2 的 macOS 版本测试 MoltenVK。MoltenVK 将可以允许开发者能够为苹果平台构建 Vulkan 应用程序,终于可以利用一套代码库横跨 Windows、Linux、Android、macOS 和 iOS 等平台。
最近Valve通过MoltenVK宣布了对Dota2 MacOS 官方Metal API的支持,所以这篇文章是对gfx-portability的测试记录。
官方网络工作组开始征集Web项目示例
Rust实现的本地文件共享服务
Tantivy 0.7发布
性能测试胜于Lucene
Rust实现的自动化静态分析、反汇编库
Rust官方启动了全球性的调查
还没有参加填写调查报告的,尽快去参与啦
评论区
写评论此处应为精心构造