簡體   English   中英

在Rust中,如何創建在自己的OS線程中運行的任務?

[英]In Rust, how can I create task that runs in its own OS thread?

這個問題已不再適用:銹綠色線程已經消失。 所有任務都對應一個線程。

Rust任務在運行時管理的線程池中運行。

我通過將阻止的FFI調用一些代碼,我將在緊密的循環中執行它。

如何在自己的OS線程上生成任務?

這兩個問題是線程在其線程上保持調度,並且工作竊取調度程序不會在此線程上帶來額外的工作。

使用std :: task :: spawn_sched ,您可以在將在其自己的OS線程上運行的新的單線程調度程序上生成任務。

use std::task::{spawn_sched, SingleThreaded};

do spawn_sched(SingleThreaded) {

    // This runs in its own OS thread

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM