有没有办法将Rust中的当前进程ID和线程ID作为整数获取?
我得到的最接近的是::std::thread::current().id()
返回一个不透明的ThreadId
对象.当我试图访问它的u64
领域时,我得到:
error[E0611]: field `0` of tuple-struct `std::thread::ThreadId` is private
--> src\main.rs:4:13
|
4 | let x: u64 = ::std::thread::current().id().0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
我在标准库中找不到与进程ID相关的任何内容.
线程id为整数
我不认为ThreadId
甚至跟踪这个.所述的实施ThreadId
简单地具有与每个线程增加了64位计数器; 它似乎没有对底层操作系统的线程系统做任何事情.
如果您拥有JoinHandle
,则可以通过JoinHandleExt::as_pthread_t
其他平台上的等效ID获取.
进程id为整数
这是8天前添加的,仅适用于每晚Rust as pthread_self()
.
归档时间: |
|
查看次数: |
1393 次 |
最近记录: |