[英]Replacement for std::sync::Semaphore since it is deprecated?
系統信號指的是什么信號量的操作系統提供。 在 POSIX(Linux、MacOS)上,這些是您從#include <semaphore.h>
(手冊頁)中獲得的方法。 std::sync::Semaphore
僅在 rust 中實現,不涉及操作系統的同步原語。
如果您需要二進制信號量( 即互斥鎖),您可以使用std::sync::Mutex
。 std::sync::RwLock
類似,但旨在解決讀者-作者問題。 對於類似於一般信號量的東西,您可以使用AtomicIsize
和繁忙循環,但繁忙循環會影響性能。
std::sync::Semaphore
從未穩定過。 我第一次設法錯過了這個事實,因為沒有顯示“不穩定”警告框,可能是因為“已棄用”框取代了它。 信號量的源代碼包含一個不穩定的屬性
#![unstable(feature = "semaphore",
reason = "the interaction between semaphores and the acquisition/release \
of resources is currently unclear",
issue = "27798")]
標題中的問題編號指定了有關此功能的討論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.