當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Arc.increment_strong_count用法及代碼示例


本文簡要介紹rust語言中 alloc::sync::Arc.increment_strong_count 的用法。

用法

pub unsafe fn increment_strong_count(ptr: *const T)

將與提供的指針關聯的Arc<T> 上的強引用計數加一。

安全性

指針必須已通過 Arc::into_raw 獲得,並且關聯的 Arc 實例必須在此方法的持續時間內有效(即強計數必須至少為 1)。

例子

use std::sync::Arc;

let five = Arc::new(5);

unsafe {
    let ptr = Arc::into_raw(five);
    Arc::increment_strong_count(ptr);

    // This assertion is deterministic because we haven't shared
    // the `Arc` between threads.
    let five = Arc::from_raw(ptr);
    assert_eq!(2, Arc::strong_count(&five));
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 alloc::sync::Arc.increment_strong_count。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。