0

私は高レベルのJava.util.Concurrentパッケージを初めて使用します。私がやろうとしているのは、スレッドプールを使用して複数のテキストファイルを同時に読み取ることです。callメソッドの実装への引数としてファイル名を渡す方法が必要です。

このようなもの :

public String call (String param)

これを達成する別の方法があれば、私はあなたの助けに感謝します。

4

1 に答える 1

6

インターフェイスを実装するときRunnableは、クラスのメンバーとしてパラメーターを追加します。そして、このメンバーの初期化をコンストラクターに追加します。runメソッドから使​​用するよりも。

例えば:

class ConcurrentFileReader implements Runnable{
   String fileName;

   public ConcurrentFileReader(String fileName){ 
       this.fileName = fileName; 
   }

   public void run(){
       File f = new File(fileName);
      // whatever
   }
}

このパターンは「メソッドオブジェクト」として知られています

于 2012-07-21T16:50:16.683 に答える