【问题标题】:MPJ Express eclipse - remove combination of lettersMPJ Express eclipse - 删除字母组合
【发布时间】:2015-07-04 20:05:46
【问题描述】:

我必须为并行计算课程做一个练习。
该任务使用 N 个并行进程从字符串中删除字母“RTY”的所有组合。
通常我会用
String strAfter=str1.replaceAll("[RTY]","") ;
但是如何让它并行呢?

【问题讨论】:

    标签: java parallel-processing mpi mpj-express


    【解决方案1】:

    拆分、工作、合并。

    1. 在主线程中拆分,将输出存储在Set
    2. 创建 N 个工作线程。
    3. 让每个工作线程 syncrhonized pick() 在给定 index 的集合中都有一个字符串,增加索引并处理条目
    4. index 达到Set 大小时,将所有内容重新粘合在一起。您可能想要使用 StringBuilderappend() 而不是连接字符串

    【讨论】:

      【解决方案2】:

      将字符串拆分为 N 个部分,然后让每个进程处理一大块字符串。拆分机制应该足够智能以处理边界值。您需要使用 Send()Recv() 方法将一大块字符串传递给相应的进程进行处理,最后更新的字符串应该以相同的方式传递。在这里您可以找到 Javadocs http://mpj-express.org/docs/javadocs/index.html

      【讨论】:

        【解决方案3】:

        我的猜测是你需要找到一种方法来做到这一点,而不是在整个字符串上使用单线程函数。将字符串分成 N 个部分并让 N 个并行进程中的每一个在该部分上运行替换函数并在所有线程完成后连接字符串怎么样?

        【讨论】:

          猜你喜欢
          • 2016-07-18
          • 1970-01-01
          • 2012-12-21
          • 2022-01-17
          • 1970-01-01
          • 1970-01-01
          • 2013-04-06
          • 2014-04-08
          • 2011-12-23
          相关资源
          最近更新 更多