我必须为并行计算课程做练习。
任务是使用N个并行进程从字符串中删除字母“RTY”的所有组合。
通常我会用
做
String strAfter=str1.replaceAll("[RTY]","") ;
但是如何并行制作呢?
答案 0 :(得分:2)
拆分,工作,合并。
Set
syncrhonized pick()
成为给定index
集合中的字符串,增加索引并处理条目index
达到Set
大小时,将所有内容粘合在一起。您可能希望使用StringBuilder
和append()
而不是连接字符串答案 1 :(得分:1)
将String拆分为N个部分,然后使每个进程在一个String块上运行。分裂机制应该足够智能以处理边界值。您需要使用 Send()和 Recv()方法将一个字符串传递给相应的进程以进行处理,最后更新的字符串应以相同的方式进行通信。在这里你可以找到Javadocs http://mpj-express.org/docs/javadocs/index.html
答案 2 :(得分:0)
我的猜测是你需要找到一种方法来完成这个,而不需要在整个字符串上使用单线程函数。怎么样将字符串分成N个部分并让你的每个N个并行进程在该部分上运行replace函数并在所有线程完成后连接字符串?