首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X10 -多位置分割故障

X10 -多位置分割故障
EN

Stack Overflow用户
提问于 2013-02-22 04:02:15
回答 1查看 104关注 0票数 1
代码语言:javascript
复制
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函数发送一个参数时,才会发生这种情况。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2013-04-18 14:40:58

X10中的位置编号从0到Place.MAX_PLACES,因此for循环的索引应为

代码语言:javascript
复制
finish for(var i:Int=0;i<4;i++){

然而,编写依赖于特定数量的位置的代码通常不是一个好主意。更好的方法是:

代码语言:javascript
复制
finish for (place in Place.places()) {
    val k = 1;
    at(place) async count(k);
}

这将适用于任何数量的地方。

请注意,我还改变了async at的顺序-使用at(p) async更有效,因为这不会在当前位置创建单独的活动。

您确定在蒙特卡洛积分示例中也存在相同的错误吗?Seg故障有很多原因...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15011158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档