MPJ Express eclipse - 删除字母组合
MPJ Express eclipse - remove combination of letters
我必须为并行计算课程做一个练习。
该任务使用 N 个并行进程从字符串中删除字母 "RTY" 的所有组合。
通常我会用
String strAfter=str1.replaceAll("[RTY]","") ;
但是如何使它并行呢?
我的猜测是您需要找到一种方法来执行此操作,而无需对整个字符串使用单线程函数。将字符串分成 N 个部分并让 N 个并行进程中的每一个 运行 该部分的替换函数并在所有线程完成后连接字符串怎么样?
将字符串拆分为 N 个部分,然后让每个进程处理一个字符串块。拆分机制应该足够智能以处理边界值。您需要使用 Send() 和 Recv() 方法将一大块 String 传递给相应的进程进行处理,最后更新的 String 应该是以同样的方式沟通。在这里您可以找到 Javadocs http://mpj-express.org/docs/javadocs/index.html
分裂,工作,合并。
- 在主线程中拆分,将输出存储在
Set
- 创建 N 个工作线程。
- 让每个工作线程
syncrhonized pick()
从给定 index
的集合中获取一个字符串,增加索引并处理条目
- 当
index
达到 Set
大小时,将所有内容粘在一起。您可能想使用 StringBuilder
和 append()
而不是连接字符串
我必须为并行计算课程做一个练习。
该任务使用 N 个并行进程从字符串中删除字母 "RTY" 的所有组合。
通常我会用
String strAfter=str1.replaceAll("[RTY]","") ;
但是如何使它并行呢?
我的猜测是您需要找到一种方法来执行此操作,而无需对整个字符串使用单线程函数。将字符串分成 N 个部分并让 N 个并行进程中的每一个 运行 该部分的替换函数并在所有线程完成后连接字符串怎么样?
将字符串拆分为 N 个部分,然后让每个进程处理一个字符串块。拆分机制应该足够智能以处理边界值。您需要使用 Send() 和 Recv() 方法将一大块 String 传递给相应的进程进行处理,最后更新的 String 应该是以同样的方式沟通。在这里您可以找到 Javadocs http://mpj-express.org/docs/javadocs/index.html
分裂,工作,合并。
- 在主线程中拆分,将输出存储在
Set
- 创建 N 个工作线程。
- 让每个工作线程
syncrhonized pick()
从给定index
的集合中获取一个字符串,增加索引并处理条目 - 当
index
达到Set
大小时,将所有内容粘在一起。您可能想使用StringBuilder
和append()
而不是连接字符串