mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-22 18:15:07 +03:00
Derive Hash for ThreadId + better example
This commit is contained in:
+13
-17
@@ -652,8 +652,8 @@ pub fn park_timeout(dur: Duration) {
|
||||
/// A unique identifier for a running thread.
|
||||
///
|
||||
/// A `ThreadId` is an opaque object that has a unique value for each thread
|
||||
/// that creates one. `ThreadId`s do not correspond to a thread's system-
|
||||
/// designated identifier.
|
||||
/// that creates one. `ThreadId`s are not guaranteed to correspond to a thread's
|
||||
/// system-designated identifier.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
@@ -662,17 +662,15 @@ pub fn park_timeout(dur: Duration) {
|
||||
///
|
||||
/// use std::thread;
|
||||
///
|
||||
/// let handler = thread::Builder::new()
|
||||
/// .spawn(|| {
|
||||
/// let thread = thread::current();
|
||||
/// let thread_id = thread.id();
|
||||
/// })
|
||||
/// .unwrap();
|
||||
/// let other_thread = thread::spawn(|| {
|
||||
/// thread::current().id()
|
||||
/// });
|
||||
///
|
||||
/// handler.join().unwrap();
|
||||
/// let other_thread_id = other_thread.join().unwrap();
|
||||
/// assert!(thread::current().id() != other_thread_id);
|
||||
/// ```
|
||||
#[unstable(feature = "thread_id", issue = "21507")]
|
||||
#[derive(Eq, PartialEq, Copy, Clone)]
|
||||
#[derive(Clone, Copy, Eq, PartialEq, Hash)]
|
||||
pub struct ThreadId(u64);
|
||||
|
||||
impl ThreadId {
|
||||
@@ -795,14 +793,12 @@ pub fn unpark(&self) {
|
||||
///
|
||||
/// use std::thread;
|
||||
///
|
||||
/// let handler = thread::Builder::new()
|
||||
/// .spawn(|| {
|
||||
/// let thread = thread::current();
|
||||
/// println!("thread id: {:?}", thread.id());
|
||||
/// })
|
||||
/// .unwrap();
|
||||
/// let other_thread = thread::spawn(|| {
|
||||
/// thread::current().id()
|
||||
/// });
|
||||
///
|
||||
/// handler.join().unwrap();
|
||||
/// let other_thread_id = other_thread.join().unwrap();
|
||||
/// assert!(thread::current().id() != other_thread_id);
|
||||
/// ```
|
||||
#[unstable(feature = "thread_id", issue = "21507")]
|
||||
pub fn id(&self) -> ThreadId {
|
||||
|
||||
Reference in New Issue
Block a user