×
提示:
×
提示:
请:
谢谢!
Toggle navigation
技术头条
最新
读点非技术
我也分享
赞过
我的
IT技术博客大学习
微博登录
1
Rust并发编程 - 容器类并发原语
(colobu.com)
【简介】
Rust 在并发编程方面有一些强大的原语,让你能够写出安全且高效的并发代码。最显著的原语之一是 ownership system,它允许你在没有锁的情况下管理内存访问。此外,Rust 还提供了一些并发编程的工具和标准库,比如线程、线程池、消息通讯(mpsc等)、原子操作等,不过这一章我们不介绍这些工具和库,它们会专门的分章节去讲。这一章我们专门讲一些保证在线程间共享的一些方式和库。
并发原语内容较多,分成两章,这一章介绍Cow、beef::Cow、Box、 Cell、RefCell、OnceCell、LazyCell、LazyLock 和 Rc。 我把它们称之为容器类并发原语,主要基于它们的行为,它们主要是对普通数据进行包装,以便提供其他更丰富的功能。
点击查看原文 >>
由
@技术头条
2023-10-24 23:56 / 原作者微博:
@colobu
/ 0个评论
赞过的人:
@IT技术博客大学习
要不要再学学下面的文章?
1
图解Blink-Tree:B+Tree的一种并发优化结构和算法
(www.codedump.info)
本文介绍了 Blink-Tree,这是一种 B+Tree 的并发优化结构。通过引入 high key 和 link 指针,解决了并发访问时的性能问题,特别适用于高并发环境的存储引擎优化。如果你对数据库存储引擎感兴趣,这篇文章不容错过!
by
@技术头条
2024-09-09 23:46
查看详情
1
在 Rust 中同时支持异步和同步代码
(colobu.com)
在 Rust 中如何同时支持异步和同步代码?本文提供了详细的解决方案,从基础实现到 maybe_async crate 的使用,帮助你在一个代码库中高效处理这两种模式的转换。无论你是构建高并发系统还是希望代码更灵活,这篇文章都提供了实用的技巧。感兴趣的开发者不容错过!
by
@技术头条
2024-09-08 23:37
查看详情
1
使用Rust捕获和解析网络包
(colobu.com)
这篇文章介绍了如何使用Rust编程语言捕获和解析网络包,以提取TCP时间戳并计算网络延迟。作者利用pcap库捕获网络包,并使用pdu库解析TCP选项中的时间戳信息,结合哈希映射存储五元组信息以计算往返时间。文中提供了代码示例,展示了在Mac系统上实现这一过程的步骤。
by
@技术头条
2024-08-06 07:53
查看详情
1
“测试 Rust 的 I/O 性能”
(colobu.com)
这篇文章探讨了在Linux上使用Rust进行文件I/O操作的性能测试。作者通过多种方法对读取大文件进行基准测试,包括使用标准BufReader、Direct I/O、内存映射(Mmap)以及io_uring等技术。结果显示,使用AVX-512指令集的内存映射实现是最快的方法,其读取速度超过8.4 GB/s。文章强调不同技术的性能差异,并提供代码示例供开发者参考。
by
@技术头条
2024-08-06 07:51
查看详情
1
sqlite并发读写的演进之路
(www.codedump.info)
本文梳理sqlite并发读写方案的演进之路。
by
@技术头条
2024-03-21 23:26
查看详情
0
高效I/O并发处理:双缓冲和Exchanger
(colobu.com)
双缓冲(double buffering)是高效处理I/O操作的一种并发技术,它使用两个buffer,一个goroutine使用其中一个buffer进行写,而另一个goroutine使用另一个buffer进行读,然后进行交换。这样两个goroutine可能并发的执行,减少它们之间的等待和阻塞。
本文还提供了一个类似Java的java.util.concurrent.Exchanger的Go并发原语,它可以用来在两个goroutine之间交换数据,快速实现双缓冲的模式。 这个并发原语可以在github.com/smallnest/exp/sync/Exchanger找到。
by
@技术头条
2024-01-17 23:05
查看详情
0
Go运行时的并发原语
(colobu.com)
这篇文章我们来了解一下隐藏在Go运行时中的一些并发原语, 因为运行时是底座和包循环依赖等原因,运行时中很少使用标准库中的并发原语,它有自己的并发原语。
by
@技术头条
2024-01-14 19:07
查看详情
0
C++中的同步原语
(colobu.com)
C++ 标准库中包含了一些基本的同步原语,尤其是C++ 20标准库又补充了一些。本文简单介绍这些并发原语,并通过示例演示它们基本的功能。
by
@技术头条
2024-01-13 23:44
查看详情
1
十年编程之路
(me.ursb.me)
时光荏苒,回首望去,自系统接触编程已近十年,这篇月刊就写写这十年的编程之路吧。
深得周围小朋友的羡慕,家里小时候是开网吧的,因此我对电脑游戏向来比较熟悉,但未曾设想过以后会走向编程的道路。2007 年的时候,初中组织了一波 Pascal 的奥赛班我也半途而废了, 2013 年高考之后报了教育技术学专业,这是一个在教育学院里和计算机稍稍沾些边的理科专业。如果按照正常的轨迹发展,想着大概毕业以后凭着专业的教师资格回老家的中小学当一名老师吧。
但一切在 2014 年的年初发生了改变。
by
@技术头条
2023-12-26 22:16
查看详情
1
Go单线程运行也会有并发问题
(colobu.com)
一个Go大佬群中严肃的讨论了一个问题:Go程序单线程多goroutine访问一个map会遇到并发读写panic么?
答案是肯定的,因为出现了这个问题所以大家才在群中讨论。
为什么呢?因为单线程意味着并行单元只有一个(多线程也可能并行单元只有一个),但是多goroutine意味着并发单元有多个,如果并发单元同时执行,即使是单线程,可能就会产生数据竞争的问题,除非这些goroutine是顺序执行的。
by
@技术头条
2023-12-11 23:04
查看详情
使用微博登录,分享你的文章到本站
评论:
提交评论
近一周被赞排行
分享文章被赞得多,您就会出现在上面。还能给您微博带来新粉丝哦!