import x10.util.Timer;
public class placetest{
public static def main(args: Array[String](1)){
finish for(var i:Int=1;i<=4;i++){
val ii = i;
val pk = Place.place(ii);
val k = 1;
async at(pk) count(k);
}
Console.OUT.println("Finished");
}
public static def count(i:Int){
Console.OUT.println("Test" + i);
}
}只有当我向count函数发送一个参数时,才会发生这种情况。
任何帮助都是非常感谢的。
发布于 2013-04-18 14:40:58
X10中的位置编号从0到Place.MAX_PLACES,因此for循环的索引应为
finish for(var i:Int=0;i<4;i++){然而,编写依赖于特定数量的位置的代码通常不是一个好主意。更好的方法是:
finish for (place in Place.places()) {
val k = 1;
at(place) async count(k);
}这将适用于任何数量的地方。
请注意,我还改变了async at的顺序-使用at(p) async更有效,因为这不会在当前位置创建单独的活动。
您确定在蒙特卡洛积分示例中也存在相同的错误吗?Seg故障有很多原因...
https://stackoverflow.com/questions/15011158
复制相似问题