Mkdir700's Note

Mkdir700's Note

最新文章

Tokio:为什么异步互斥锁比同步互斥锁更"昂贵"

The feature that the async mutex offers over the blocking mutex is the ability to keep it locked across an .await point. This makes the async mutex mo
122
0
0
2025-03-15

Tokio:应该使用哪种 mutex?

基本概念 互斥锁(Mutex)是一种同步原语,用于保护共享数据,确保在任何时刻只有一个线程可以访问这些数据。 两种互斥锁的主要区别 1. 阻塞行为 标准库互斥锁(std::sync::Mutex): 当你调用 .lock() 时,如果锁已被占用,当前线程会阻塞直到获得锁 阻塞意味着线程会暂停
177
0
1
2025-03-15

SOLID 原则详解

SOLID 原则详解 SOLID是面向对象设计中五个重要原则的首字母缩写,由Robert C. Martin(也被称为"Uncle Bob")提出。这些原则旨在使软件设计更加灵活、可维护和可扩展。下面我将详细解释每一个原则及其实际应用。 S - 单一职责原则 (Single Responsibili
103
0
0
2025-03-14

常见设计模式 Python 实现

1.单例模式(Singleton Pattern) 题目描述: 实现一个数据库连接池管理器,确保系统中只有一个连接池实例,无论创建多少次都返回相同的实例。连接池应该支持获取连接和释放连接的功能。 要求: 1.实现一个 DatabaseConnectionPool 类,使用单例模式确保全局唯一 2.实
86
0
0
2025-03-14

SQLite 锁机制:读锁策略与并发事务分析

引言 在使用 SQLite 数据库时,我们经常会遇到并发事务的问题。本文将通过一个具体的实验来深入探讨 SQLite 的锁机制,特别是关于读操作的锁获取策略。 SQLite 中的读操作锁策略 SQLite 中的读操作获取锁的策略会根据不同的上下文而变化: 1. 事务外的读操作 在自动提交(autoc
231
0
3
2024-12-26

使用 GoReleaser 发布 Rust 二进制文件

作为消费者,我们喜欢通过以下方式之一获取二进制发布: 操作系统原生包格式,例如 deb、rpm 等。 语言原生包格式,例如 pip、npm 等。通过这种方式提供纯二进制文件并不常见,但有些项目会这样做,例如 puppeteer,它会下载最新的无头 Chrome 二进制文件。 使用 curl shel
Tec
154
0
0
2024-10-10

解决在 Windows 上 openssl-sys 构建失败的问题

问题 在 Windows 下构建时抛出了下方错误,意思就是缺少 OpenSSL 这个玩意儿,如果在 Linux 平台直接用包管理工具安装就 OK 了,但是在 Windows 平台则需要手动操作。   OPENSSL_DIR unset   note: vcpkg did not find opens
Tec
884
0
0
2024-09-16
解决 Rust 测试中的并行执行冲突:保护共享资源的策略

解决 Rust 测试中的并行执行冲突:保护共享资源的策略

在 Rust 开发中,测试是确保代码质量的关键环节。然而,当我们的测试套件变得越来越大时,我们可能会遇到一个常见的问题:并行执行测试导致的共享资源冲突。 问题的根源 Rust 的测试框架默认并行执行测试,以提高效率。但当多个测试同时访问共享资源(如全局配置、数据库连接或文件系统)时,可能会导致意外的
Tec
104
0
0
2024-09-13
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告

Rust 中的跨平台开发:处理平台特定代码和未使用代码警告

在 Rust 中进行跨平台开发时,我们经常需要为不同的操作系统提供不同的实现。同时,我们也需要处理一些由此产生的代码分析问题。本文将探讨如何有效地处理这些情况。 使用条件编译实现平台特定代码,Rust 提供了强大的条件编译功能,允许我们根据目标平台选择不同的代码实现。例如: pub struct P
Tec
112
0
0
2024-09-13
Airpods 左右固件版本不一致

Airpods 左右固件版本不一致

问题 我的耳机是 airpod3,刚买来的半年一直都是正常的,之后右边耳机总是会断开,也就是总是只有左边这只耳机有声音。 然后根据这里的步骤尝试忘记并重连 airpods,然后莫名奇妙一对耳机,建立两个耳机连接,我这里忘记截图了,总之,在设置界面能看到两个 airpods,实际上就是两个耳机分别建立
847
0
0
2024-07-18