Ejecución paralela de TestNG con DataProvider

Tengo una sola prueba que recibe datos del proveedor de datos. Me gustaría que esta prueba se ejecute en paralelo con diferentes valores del proveedor de datos.

Intenté un enfoque como:

public class IndependentTest
{
@Test(dataProvider = "dp1" ,threadPoolSize=3,invocationCount=1)

public void testMethod(int number)
{
    Long id = Thread.currentThread().getId();
    System.out.println("HELLO :  " + id);
}


@DataProvider(name = "dp1",parallel=true)
public Object[][] dp1() {
  return new Object[][] {
      new Object[] { 1 },
      new Object[] { 2 },
      new Object[] { 3 },
      new Object[] { 4 },
      new Object[] { 5 },
      new Object[] { 6 },
      new Object[] { 7 },
      new Object[] { 8 }

  };
}

}

La salida que recibí es:

HOLA: 10

HOLA: 12

HOLA: 17

HOLA: 11

HOLA: 16

HOLA: 14

HOLA: 13

HOLA: 15

Engendró 10 hilos mientras especificaba 5 en el tamaño del grupo de hilos. ¿Podría decir qué se debe agregar al fragmento anterior para controlar el tamaño del grupo de subprocesos del proveedor de datos?

Respuestas a la pregunta(4)

Su respuesta a la pregunta