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 ?
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
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With