Lee el ID de usuario de 30Millones uno por uno del archivo grande

Estoy tratando de leer un archivo muy grande usando Java. Ese archivo grande tendrá datos como este, lo que significa que cada línea tendrá una identificación de usuario.

149905320
1165665384
66969324
886633368
1145241312
286585320
1008665352

Y en ese archivo grande habrá alrededor de 30 millones de ID de usuario. Ahora estoy tratando de leer todas las ID de usuario una por una de ese archivo grande solo una vez. Lo que significa que cada ID de usuario debe seleccionarse solo una vez de ese gran archivo. Por ejemplo, si tengo 30 millones de ID de usuario, debería imprimir 30 millones de ID de usuario solo una vez con el uso del código de multiproceso.

A continuación se muestra el código que tengo, que es un código de múltiples subprocesos que se ejecuta con 10 subprocesos pero con el programa siguiente, no puedo asegurarme de que cada ID de usuario se seleccione solo una vez.

public class ReadingFile {


    public static void main(String[] args) {

        // create thread pool with given size
        ExecutorService service = Executors.newFixedThreadPool(10);

        for (int i = 0; i < 10; i++) {
            service.submit(new FileTask());
        }
    }
}

class FileTask implements Runnable {

    @Override
    public void run() {

        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader("D:/abc.txt"));
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
                //do things with line
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                br.close();
            } catch (IOException e) {

                e.printStackTrace();
            }
        }
    }
}

¿Puede alguien ayudarme con esto? ¿Qué mal estoy haciendo? ¿Y cuál es la forma más rápida de hacer esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta