Search code examples
javaintellij-ideacannot-find-symbol

IntelliJ cannot resolve symbol "newFixedThreadPool"


I'm new to IntelliJ and Java in general. I'm trying to learn multithreading and I came across the Executors class.

So I wanted test this, here is a sample of my code.

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
    }
}

But I get an error : "Cannot resolve symbol 'newFixedThreadPool'". I tried "Invalidate cache and restart" but it didn't help, I tried synchronise and rebuild project, but it didn't work either.

I don't understand where this problem is coming from because the class Executors is imported. Besides, there was autocompletion for the static methods of Executors. Maybe there is a problem in the importation, but if so, how could I fix it ?


Solution

  • Remove the keyword new in this line:

    execute = new Executors.newFixedThreadPool(6);
    

    It should be:

    execute = Executors.newFixedThreadPool(6);
    

    The method newFixedThreadPool is a static method of class Executors.