本文简要介绍rust语言中 std::thread::Thread.unpark
的用法。
用法
pub fn unpark(&self)
如果句柄的令牌还没有,原子地使它可用。
通过 park
函数和unpark()
方法,每个线程都配备了一些基本的低级阻塞支持。这些可以用作自旋锁的更多CPU-efficient 实现。
有关更多详细信息,请参阅park documentation。
例子
use std::thread;
use std::time::Duration;
let parked_thread = thread::Builder::new()
.spawn(|| {
println!("Parking thread");
thread::park();
println!("Thread unparked");
})
.unwrap();
// Let some time pass for the thread to be spawned.
thread::sleep(Duration::from_millis(10));
println!("Unpark the thread");
parked_thread.thread().unpark();
parked_thread.join().unwrap();
相关用法
- Rust Thread.name用法及代码示例
- Rust Thread.id用法及代码示例
- Rust ThreadId用法及代码示例
- Rust TcpStream.local_addr用法及代码示例
- Rust TcpStream.peer_addr用法及代码示例
- Rust TcpListener.take_error用法及代码示例
- Rust Take.limit用法及代码示例
- Rust TcpStream.set_nodelay用法及代码示例
- Rust ToSocketAddrs用法及代码示例
- Rust TcpStream.nodelay用法及代码示例
- Rust ToOwned.to_owned用法及代码示例
- Rust TcpListener.into_incoming用法及代码示例
- Rust TcpStream.take_error用法及代码示例
- Rust TcpListener.accept用法及代码示例
- Rust TryIter用法及代码示例
- Rust Take.set_limit用法及代码示例
- Rust Try.from_output用法及代码示例
- Rust Try用法及代码示例
- Rust TryFrom用法及代码示例
- Rust TcpStream.write_timeout用法及代码示例
- Rust TcpListener.local_addr用法及代码示例
- Rust Take.get_ref用法及代码示例
- Rust TcpStream.peek用法及代码示例
- Rust TcpStream.set_write_timeout用法及代码示例
- Rust TcpListener.ttl用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::thread::Thread.unpark。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。