D中使用std.parallelism的成员函数的任务
我想创建一个执行结构或类的成员函数的任务:D中使用std.parallelism的成员函数的任务,d,parallel-processing,D,Parallel Processing,我想创建一个执行结构或类的成员函数的任务: import std.parallelism, std.stdio; struct S { void foo() { writeln("S.foo()"); } } void main() { S s; auto pool = new TaskPool(); auto t = task!(s.foo)(); // error pool.put(t); pool.finish()
import std.parallelism, std.stdio;
struct S {
void foo() {
writeln("S.foo()");
}
}
void main() {
S s;
auto pool = new TaskPool();
auto t = task!(s.foo)(); // error
pool.put(t);
pool.finish();
}
我怎样才能做到这一点?我还尝试使用代理,但没有效果
编辑:我发现了一个可能相关的问题 输出:
S.foo()
您也可以使用scopedTask
,但是您必须等到任务完成后才能返回<代码>任务池。完成不等待。如果使用
S.foo()