< 返回版块

bell 发表于 2021-08-15 08:27

1.rust 中有是否可以实现线程1启动线程2,线程1设置监听线程2,线程2崩溃,然后向线程1发送消息,线程1收到线程2的崩溃消息,然后可以选择重启线程2 或者置之不理。 2.rust中是否有支持节点之间的线程发送消息? 3.rust 是否支持监听多节点之间进程的崩溃消息? 4.rust 的线程创建与崩溃消耗大吗?一个rust进程可以创建多少个线程?

以上来自学习erlang 对rust的反思。如果能够支持这些也就很容易用rust克服erlang的性能不足问题

评论区

写评论
Aya0wind 2021-08-17 10:48

rust标准库用的就是系统级线程,代价比直接调用os的api高一丁点,不过rust有异步库提供的绿色线程,那个开销要低得多。

--
👇
bell: 1.rust创建线程的代价高吗?

--
👇
johnmave126: 如果崩溃指的是panic,那么是可以的。可以在整个线程顶部catch_unwind捕获panic,线程之间用channel或者别的同步结构进行通信。 多节点进程通信指的是rpc?这个主要是看协议吧,毕竟涉及到网络失效之类的情况,应该没有什么语言自带的东西。

作者 bell 2021-08-17 08:36

1.rust创建线程的代价高吗?

--
👇
johnmave126: 如果崩溃指的是panic,那么是可以的。可以在整个线程顶部catch_unwind捕获panic,线程之间用channel或者别的同步结构进行通信。 多节点进程通信指的是rpc?这个主要是看协议吧,毕竟涉及到网络失效之类的情况,应该没有什么语言自带的东西。

johnmave126 2021-08-15 22:49

如果崩溃指的是panic,那么是可以的。可以在整个线程顶部catch_unwind捕获panic,线程之间用channel或者别的同步结构进行通信。 多节点进程通信指的是rpc?这个主要是看协议吧,毕竟涉及到网络失效之类的情况,应该没有什么语言自带的东西。

1 共 3 条评论, 1 页