私はIntelliJとJavaの方が一般的です。 私はマルチスレッドを学びたいと思っています。私はExecutorsクラスに出くわしました。IntelliJは "newFixedThreadPool"というシンボルを解決できません
私はこれをテストしたかったので、ここに私のコードのサンプルがあります。
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class LegController {
private List<Runnable> legs;
private ExecutorService execute;
public LegController() {
legs = new ArrayList<>();
for (int i = 0; i < 6; i++) {
legs.add(LegFactory.getLeg("LEFT"));
}
execute = new Executors.newFixedThreadPool(6);
}
public void start(){
//TODO
}
}
ただし、「newFixedThreadPool 'を解決できません」というエラーが表示されます。 私は "キャッシュを無効にして再起動"しようとしましたが、助けにならなかったので、プロジェクトを同期して再構築しようとしましたが、どちらもうまくいきませんでした。
Executorsクラスがインポートされるため、この問題の原因がわかりません。さらに、Executorsの静的メソッドの自動補完もありました。 輸入に問題があるかもしれませんが、もしそうなら、どうすれば修正できますか?
'execute = Executors.newFixedThreadPool(6);'、つまり 'new'キーワードがないと、コンパイラはコンストラクタ呼び出しを期待します(コンストラクタを呼び出さないでください)。 – Thomas
Executors.newSingleThreadExecutor(int)メソッドもありません。 –