1
我想根據Naughy Dogs fiber based task system實現我自己的任務系統。D是否有期貨/承諾?
我想這樣做,大致是這樣的
auto fiber = new Fiber((){
someFunction();
});
然後我想給的是光纖到我創建一個線程。這應該不成問題。
但有時候我想得到一個結果,也許someFunction
是int function()
類型。
auto t = task!someFunction();
auto fiber = new Fiber((){
task.yieldForce;
});
submitFiberToSomeThreadPool(fiber);
但似乎我不能使用這樣的Task
。看來我必須將它提交到Taskpool中,否則我必須撥打executeInNewThread
,這是我不想要的。
這是否意味着我將不得不實施我自己的未來承諾系統?
所以要纖維和來電之間來回傳遞值/將它們作爲屈服函數的參數? – WebFreak001
我檢查了演示文稿,標題爲「並行化使用纖維的淘氣狗引擎」引起了我的注意。 - 某人如何將術語「平行」和「纖維」放在一起? – DejanLekic
纖維與平行度之間沒有任何內在矛盾。這本身並不常見:)使用N纖維+ M線比使用N線更適合並行性,這是我在不閱讀演示文稿時所期望的。 –