MPJ Express eclipse - 删除字母组合

时间:2015-04-26 12:28:53

标签: java parallel-processing mpi mpj-express

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

3 个答案:

答案 0 :(得分:2)

拆分,工作,合并。

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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