eric642 发表于 2020-10-23 17:08
例如collections里的那些数据结构, 哪些是线程安全的..我去官方的标准库文档似乎没找到说明.
只要编译通过就是安全的
——大概如此
好的.谢谢..
-- 👇 whfuyn: 是的
-- 👇 eric642: 是指实现了这个Sync这个trait吗? impl<T: ?Sized + Send> Sync for Mutex
-- 👇 whfuyn: 只要看它是不是Sync的就行。 一个数据结构是Sync的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。
Sync
是的
是指实现了这个Sync这个trait吗? impl<T: ?Sized + Send> Sync for Mutex
只要看它是不是Sync的就行。 一个数据结构是Sync的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。
感谢!你提醒完我才想起来之前看的书有说过这事儿, 刚才脑子没转过弯来~~~~
-- 👇 alexlee85: 因为所有权的检查你已经不能跨线程访问同一个数据结构了。 如果要跨线程就必须使用Arc(Atomic Reference Count)和Mutex
不信你可以试试不用Arc和Mutex在两个线程之间来共享变量,编译器会报错。
因为所有权的检查你已经不能跨线程访问同一个数据结构了。 如果要跨线程就必须使用Arc(Atomic Reference Count)和Mutex
评论区
写评论只要编译通过就是安全的
——大概如此
好的.谢谢..
--
👇
whfuyn: 是的
--
👇
eric642: 是指实现了这个Sync这个trait吗? impl<T: ?Sized + Send> Sync for Mutex
--
👇
whfuyn: 只要看它是不是
Sync
的就行。 一个数据结构是Sync
的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。是的
--
👇
eric642: 是指实现了这个Sync这个trait吗? impl<T: ?Sized + Send> Sync for Mutex
--
👇
whfuyn: 只要看它是不是
Sync
的就行。 一个数据结构是Sync
的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。是指实现了这个Sync这个trait吗? impl<T: ?Sized + Send> Sync for Mutex
--
👇
whfuyn: 只要看它是不是
Sync
的就行。 一个数据结构是Sync
的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。只要看它是不是
Sync
的就行。 一个数据结构是Sync
的,也就是说它能够在线程间安全地传递引用,从而能在不同的线程中安全地调用它的方法,也即线程安全。感谢!你提醒完我才想起来之前看的书有说过这事儿, 刚才脑子没转过弯来~~~~
--
👇
alexlee85: 因为所有权的检查你已经不能跨线程访问同一个数据结构了。 如果要跨线程就必须使用Arc(Atomic Reference Count)和Mutex
不信你可以试试不用Arc和Mutex在两个线程之间来共享变量,编译器会报错。
因为所有权的检查你已经不能跨线程访问同一个数据结构了。 如果要跨线程就必须使用Arc(Atomic Reference Count)和Mutex
不信你可以试试不用Arc和Mutex在两个线程之间来共享变量,编译器会报错。