lithbitren 发表于 2022-11-24 15:43
Tags:warp,actix
就像actix的workers一样
多谢指路,其实我还奇怪,warp/axum官方教程里都没有多线程,但共享数据里都用arc/mutex举例,不像actix还举例说如果用单线程理论上可以直接rc/refcell(不过不知道会不会有bug)
-- 👇 fakeshadow: https://docs.rs/tokio/latest/tokio/attr.main.html#set-number-of-worker-threads
当开启rt-multi-thread时默认线程数等于cpu逻辑内核数
https://docs.rs/tokio/latest/tokio/attr.main.html#set-number-of-worker-threads
用Warp写后台,不需要考虑多线程,系统会自动处理高并发。Warp的高并发建立在Tokio框架的async/await机制上,相当于Go中的协程,协程是语言级别的多任务机制,线程是操作系统级别的多任务机制。Tokio会自动调用操作系统的线程来调度Rust语言级别的协程,一个线程中可以有多个协程,效率高,占用资源少。
Warp是比较早期的web框架,现阶段web框架建议采用axum,易用性更好,功能更强大。
评论区
写评论多谢指路,其实我还奇怪,warp/axum官方教程里都没有多线程,但共享数据里都用arc/mutex举例,不像actix还举例说如果用单线程理论上可以直接rc/refcell(不过不知道会不会有bug)
--
👇
fakeshadow: https://docs.rs/tokio/latest/tokio/attr.main.html#set-number-of-worker-threads
当开启rt-multi-thread时默认线程数等于cpu逻辑内核数
https://docs.rs/tokio/latest/tokio/attr.main.html#set-number-of-worker-threads
当开启rt-multi-thread时默认线程数等于cpu逻辑内核数
用Warp写后台,不需要考虑多线程,系统会自动处理高并发。Warp的高并发建立在Tokio框架的async/await机制上,相当于Go中的协程,协程是语言级别的多任务机制,线程是操作系统级别的多任务机制。Tokio会自动调用操作系统的线程来调度Rust语言级别的协程,一个线程中可以有多个协程,效率高,占用资源少。
Warp是比较早期的web框架,现阶段web框架建议采用axum,易用性更好,功能更强大。