You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mpsc::Sender克隆与用Arc包裹实现线程共享的区别疑问

mpsc::Sender克隆与用Arc包裹实现线程共享的区别疑问

最近我在开发一个Rust客户端,定义了这么个结构体:

struct Client {
    tx: std::sync::mpsc::Sender<String>,
    some_other_stuff: i32,
}

最开始我要在多个线程里共享这个Client实例,就直接把它用Arc<Client>包起来,通过Arc::clone()来传递不同的句柄给各个线程。结果后来我才反应过来,mpsc::Sender本身就支持用.clone()来廉价克隆,这时候我就有点搞不懂了——直接克隆Sender,和把整个Client用Arc包裹着实现线程共享,这两种做法到底有啥区别啊?我之前用Arc是不是多此一举了?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:59:39