我是类星体的新手,想知道是否有像下面这样的例子。或者即使有人能为我指明正确的方向。
所以我需要做的是读取一个json文件。对于每个索引,创建一个新的纤维,并从json传递一些值。每个光纤都将根据来自json的值创建一个执行函数。但取决于价值,一些纤维可能需要更长的时间才能完成。最多等待5秒才能完成。
我想所有这些纤维都会平行运行。
这有可能吗?任何例子都是很好的。
发布于 2016-04-24 07:51:57
我是类星团的一员。
光纤将同时运行,实际的并行性取决于您在多少个CPU内核上运行您的程序,以及光纤执行器的并行级别,在默认情况下,它是一个ForkJoinPool,它的工作线程数等于CPU核的数量。
纤维就像线程一样使用(但要轻量级得多):您可以生成它们,让它们完成它们的工作并加入它们。在您的情况下,您不需要更多的东西(尽管类星体提供了类似于Go的频道、类似Erlang的演员以及数据流,无论是光纤还是线程),所以我建议您看看纤维文档,也有很多例子,但我特别建议您从分级模板开始。
可以将索引/值作为闭包变量传递给从匿名类创建的实例,也可以创建Fiber的命名子类,并将它们作为构造函数参数接收。
记得去运行代理程序。如果您需要构建一个单独的工件可执行JAR,包括代理,我建议您查看一下胶囊。
还可以考虑加入类星体-脉冲星用户组。
https://stackoverflow.com/questions/36795467
复制相似问题