我也是 MPJ Express 的新手,但似乎封闭的对象需要是原始类型 - 某种数组。 (就像在 OpenMPI 中使用 C/C++ 实现一样)。
这种代码对我来说效果很好:
Node t[] = new Node[4];
...
count[0] = t.length;
MPI.COMM_WORLD.Send(count, 0, 1, MPI.INT, 1, 98);
MPI.COMM_WORLD.Send(t, 0, t.length, MPI.OBJECT, 1, 99);
} else if( myRank == 1 ) {
int count[] = new int[1];
MPI.COMM_WORLD.Recv( count, 0, 1, MPI.INT, 0, 98);
Status mps = MPI.COMM_WORLD.Recv( t, 0, count[0], MPI.OBJECT, 0, 99 );
...
当然,您必须让自定义类实现可序列化接口。