correct multithreading in loop

I’m a beginner at java and I’m trying to do a multithread app.

public class Menu {
    private String input;
    private TaskManager taskManager;

    public void mainMenu() {
        while (true) {
            printMainMenu();
            Scanner reader = new Scanner(System.in);

            int choice = reader.nextInt();
            switch (choice) {
                case 0:
                    return;
                case 1:
                    System.out.println("task1");
                    input = read(reader);
                    break;
                case 2:
                    System.out.println("task2");
                    input = read(reader);
                    break;
                default:
                    System.out.println("wrong option");
            }
            new Thread(this::backgroundTask).start();
        }
    }

    private void backgroundTask() {
        taskManager.executeTask(input);
    }

    private String read(Scanner reader) {
        reader.nextLine();
        return reader.nextLine();
    }
}

This a class called from a Main class. What I want to achieve is for the user to execute tasks in different parallel threads without waiting for the previous to end.

EDIT
– is this the correct use?
– is any way that this can collide with new data entered by the user?
– would be useful to add a queue?

Any suggestions are welcome. Thanks