飞道的博客

【Rust日报】2023-01-03 turmoil - 由 Tokio 推出用于开发和测试分布式系统的框架

286人阅读  评论(0)

turmoil - 由 Tokio 推出用于开发和测试分布式系统的框架

测试分布式系统比较困难,很多不确定性(比如:网络、时间、线程等),使得可重复的结果难以实现。

turmoil通过模拟主机、时间和网络来解决这些问题。可以使整个分布式系统在一个单进程的单一线程中运行,实现确定性的执行。还提供了对网络的细粒度控制,支持在主机之间丢弃、保留和延迟消息。

ReadMore: https://tokio.rs/blog/2023-01-03-announcing-turmoil

alloc-track

这个项目允许按每个线程和每个回溯实时内存剖析。

用法:

alloc-track = "0.2.3"

   
  1. use alloc_track::{AllocTrack, BacktraceMode};
  2. use std::alloc::System;
  3. #[global_allocator]
  4. static GLOBAL_ALLOC: AllocTrack<System> = AllocTrack:: new(System, BacktraceMode::Short);

3.调用 alloc_track::thread_report() 或 alloc_track::backtrace_report() 来生成一个报告。

ReadMore:https://crates.io/crates/alloc-track

sync_cow - 线程安全的写时克隆容器,用于快速并发写入和读取。

读取是无锁的,并立即返回。写入只被其他写入所禁止,而不会被任何读取所禁止。一个只有一个写者和任意一个读者的系统永远不会阻塞。

例子:

  • Simple Read/Write - Simple showcase of functionsSyncCow

  • Thread Read/Write - Sharing a between threads using for concurrent accessSyncCowstd::sync::Arc

ReadMore: https://crates.io/crates/sync_cow

如何在 Rust 中生成没有三方库依赖的随机数

随机数非常有趣。感觉就像魔术一样,我们可以从确定性来源产生这种不可预测的熵。

但这是如何发生的呢?在开始在 Rust 中生成随机数之前,让我们先了解随机数生成的过程,以及如果没有特殊的硬件,就永远无法创建真正的随机性。

...

ReadMore:https://blog.orhun.dev/zero-deps-random-in-rust/


From 日报小组 冰山上的 mook && MalikHou

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区


转载:https://blog.csdn.net/u012067469/article/details/128556676
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场