首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于在JGAP中使用多线程,有什么我应该知道的“问题”吗?

关于在JGAP中使用多线程,有什么我应该知道的“问题”吗?
EN

Stack Overflow用户
提问于 2012-04-26 07:56:33
回答 2查看 681关注 0票数 4

我正在做一个遗传编程项目,试图生成代表图像的GP。我的方法是将图像分成不同的独立部分,并让单独的线程在这些部分上执行演化工作。

因为事情将是异步的,你自然会希望对象也是独立的。问题是,我注意到JGAP中的某些对象实际上是共享变量,因此它们将在线程之间共享,这将导致许多问题。例如,我注意到具有相同名称的所有Variables都是相同的,这意味着如果我想同时计算多个IGPProgram,我必须锁定该变量,这可能会真正影响性能。

我还注意到,如果你试图创建多个GPConfiguration,程序会抱怨你必须先重置它。所以在我看来,所有的GPConfigurations都是共享的(也就是说,你不能让多个线程同时创建多个配置),这是一个问题,因为创建GPProblems会花费很多时间,而我正在创建很多GPProblems,所以我希望通过将工作分成多个线程来减少所用的时间。

在使用JGAP和线程时,有没有什么“问题”是我需要知道的?不幸的是,JGAP文档中没有太多涉及多线程,我希望能从可能有JGAP经验的人那里得到一些建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-12 13:05:06

如果你不想让一些变量在线程间共享,可以做一些小改动,让代码支持多线程。您可以使用ThreadLocal.

When and how should I use a ThreadLocal variable?

票数 2
EN

Stack Overflow用户

发布于 2012-12-10 23:55:48

根据FAQ的说法,JGAP“确实支持多线程计算”。然而,这并不意味着整个API/对象图都是完全线程安全的。你有没有一个代码样本来说明你遇到的问题?我认为如果不稍微改进一下你的问题,你不会得到一个规范的答案。

examples/src/examples/simpleBooleanThreaded下的JGAP distribution压缩包中有一个线程示例。

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

https://stackoverflow.com/questions/10325446

复制
相关文章

相似问题

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