0

元のパイプにアクセスできるさまざまなパイプに、1 つのパイプで送信されたアイテム\アクションを複製するなど、操作を分散するにはどうすればよいですか?

親スレッドが「Pthread」で、それを 4 つまたは 5 つの子スレッドにリンクしたいとします。バイナリ ツリーのように。「Pthread」で実行されるすべての操作は、すべての子スレッドに分散する必要があります (ESB が SOA アーキテクチャで行うのと同様のもの)。

1 対多の分配でのパイプ

同様に、A+B は 5 つのスレッド\パイプすべてで同時に送信され、処理される必要があります。

これを行う方法はありますか?

4

1 に答える 1

1
 public class MainThreadEntry  {



     public void ThreadCreationMethod()
        {
         List<Future<Object>> listOfResult = null; // listOfResult is list of Integer objects as a result of computation by different threads
         ExecutorService executor = Executors.newFixedThreadPool(5); // no of threads to create from main thread
         List<EachThreadComputation> list = new ArrayList<MainThreadEntry .EachThreadComputation>();
         for (int i = 0; i < 5; i++) {
             EachThreadComputation separeateComputaionInnerClass = new EachThreadComputation(1,2); // innerClass Created For Ecah Thread 1,2 parameter can be dynamic
             list.add(separeateComputaionInnerClass);
         }
         try {

             listOfResult = executor.invokeAll(list); // call on different threads with 5 separate executionpath for computation

         } catch (InterruptedException e) {

         }






        }


private class EachThreadComputation implements Callable<Object>{
          private int A;
          private int B;


          EachThreadComputation(int A,int B) {
                this.A = A;
                this.B = B;

            }


            @Override
            public Object call() throws Exception {
                   return (Integer)A+B

      }
      }}
于 2013-06-27T12:22:40.143 に答える