首页
学习
活动
专区
工具
TVP
发布

学点Rust

公众号:newbmiao
专栏成员
20
文章
4723
阅读量
17
订阅数
聊聊Rust的并发约束:Send和Sync
不知道你有没有好奇过,Rust是怎么控制并发安全的。为什么编译器在编译时就能发现一些并发安全的问题。
newbmiao
2023-11-27
2080
置顶
深入理解Rust的Atomic及Ordering
之前提到的Mutex、Condvar是Rust中比较偏高层的共享数据型并发控制,更底层的并发控制也有,比如Atomic(原子操作)。
newbmiao
2023-12-26
2720
置顶
掌握Rust:从零开始的所有权之旅
所有权是 Rust 很有意思的一个语言特性,但对于初学者却是一个比较有挑战的内容。
newbmiao
2023-11-27
2580
置顶
Rust设计模式:sealed trait 续篇
之前写sealed trait时没提他在oauth2-rs中怎么用, 为什么用,这个其实在状态接口设计中很有用,今天展开聊聊。
newbmiao
2024-04-28
930
Rust设计模式:typestate
在Oauth2中,一般需要提前配置好auth_url, token_url, introspect_url等,才能调用后续的鉴权相关功能。比如没有token_url配置好,你就无法成功拿授权码(code)获取token。
newbmiao
2024-04-28
870
Rust设计模式:sealed trait
最近升级之前写的一个oauth2 相关[1]的依赖时(深度解读-如何用keycloak管理external auth), 发现新版oauth2-rs[2]有些实现 pattern 很有意思,可以展开看看。
newbmiao
2024-04-28
1130
如何用Rust快速构建AWS Lambda Function
AWS Lambda Function是轻量级的计算服务。优势是按需付费,专注于功能,服务本身如何构建暴露都有AWS都不需要自己操心。
newbmiao
2024-03-12
980
Rust之tower如何构建请求中间件
tower是一个请求协议无关的的中间件定义类库,主要定义了Service和Layer两个trait来帮助实现可重用的请求处理中间件。
newbmiao
2024-02-26
3090
tokio之如何观测Rust异步任务的调度
通过之前的《Rust 异步编程之 Future 初探》我们知道Rust的异步是以task的调度来构建的。task作为抽象在语言层面的调度单元。
newbmiao
2024-02-26
1600
Rayon魔法:使Rust并行编程变得轻而易举
Rayon库是一个数据并行化(data-parallelism)的 Rust库。在并行编程里是一个很有趣的存在, 且非常的容易上手。它可以很轻松地将同步计算流程转化为并行计算。而且基本能保证编译通过就不会有data race。
newbmiao
2024-01-17
1990
Rust异步编程之Future并发处理
上篇文章我们知道,Rust的Future是异步执行,await时是阻塞在当前的异步任务task上,直到完成。
newbmiao
2024-01-11
3540
Rust异步编程之Future初探
Rust的Future是用来实现异步编程的。今天我们围绕其了解下Rust的异步编程是如何构建。
newbmiao
2024-01-10
3760
Rust并发控制之Channel
Rust 官方sync包中提供了mpsc模式的 (多生产者,单消费者:multi-producer, single-consumer) channel,可以实现基于消息并发控制,而不是依赖控制内存共享(加锁)。这正是 go 语言作者 R. Pike 所推崇的方式:
newbmiao
2023-12-13
2210
Rust并发控制之Semaphore-两线程交替打印
区别于互斥锁(Mutex)是对共享资源的独占访问,Semaphore 允许指定多个并发访问共享资源。
newbmiao
2023-11-27
3020
Rust并发控制之Condvar-两线程交替打印
考察的是如何做并发线程的同步控制,实现的方式有很多,今天我们先用上篇提到的 condvar 试试。
newbmiao
2023-11-27
1870
Rust并发控制之Condvar
上次提到的 Barrier 用到了 Rust 的 condvar 和 mutex,今天来看下 condvar 的用法。
newbmiao
2023-11-27
2650
Rust并发控制之Barrier
Rust 有很多种控制并发的方式,Barrier(屏障)是其中一种用来同步多线程计算的方式。
newbmiao
2023-11-27
2060
聊聊共享所有权之Rc和Arc
像如下代码,字符串a如果直接移动给b后就没法后边再去打印,因为它的所有权已经转移给了b。
newbmiao
2023-11-27
2210
聊聊Rust的Cell和RefCell
内部可变性(interior mutability)是Rust用来表示在一个值的外部看起来是不可变的,但是在内部是可变的。这种模式通常用于在拥有不可变引用的同时修改目标数据。
newbmiao
2023-11-27
3440
深度解读-如何用keycloak管理external auth
简单来说,以google授权为例,一般就是通过用户授权页面登录google账号,再跳转用code换取到相应权限的token,就可以代表用户去发起一些google api的请求。
newbmiao
2023-11-27
4500
点击加载更多
社区活动
AI代码助手快速上手训练营
鹅厂大牛带你玩转AI智能结对编程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档