文件名称:blocking:用于隔离异步程序中的阻塞IO的线程池
文件大小:21KB
文件格式:ZIP
更新时间:2024-04-08 15:26:12
Rust
阻塞 用于隔离异步程序中的阻塞I / O的线程池。 有时无法避免阻止I / O。考虑一下文件或标准输入,它们在现代操作系统上对异步的支持很弱。尽管 , 和是可能的解决方案,但它们并不总是可用或理想的。 由于在期货中不允许阻塞,因此我们必须将阻塞I / O移到此板条箱提供的特殊线程池中。该池根据当前正在运行的I / O作业数动态产生并停止线程。 请注意,活动线程数是有限制的。一旦达到该限制,就必须完成一项正在运行的作业,然后其他人才有机会运行。当线程空闲时,它等待下一个作业或在一定的超时后关闭。 例子 读取文件内容: use blocking :: unblock; use std :: fs; let contents = unblock ( || fs :: read_to_string ( "file.txt" )). await ?; println! ( "{}" , conte
【文件预览】:
blocking-master
----.gitignore(19B)
----LICENSE-MIT(1023B)
----README.md(3KB)
----CHANGELOG.md(1KB)
----.github()
--------workflows()
----Cargo.toml(612B)
----tests()
--------unblock.rs(2KB)
----examples()
--------ls.rs(517B)
----LICENSE-APACHE(11KB)
----src()
--------lib.rs(42KB)