Lectura de valores Cell en múltiples subprocesos simultáneamente

Contents
[ ]

Para leer valores de celda en más de un subproceso simultáneamente, configureHoja de trabajo.getCells().setMultiThreadReading() averdaderoSi no lo hace, es posible que obtenga valores de celda incorrectos. Tenga en cuenta que algunas funciones, como el formato de los valores de las celdas, no son compatibles con subprocesos múltiples. Por lo tanto, MultiThreadReading solo le permite acceder solo a los datos originales de la celda. En un entorno de subprocesos múltiples, si intenta obtener el valor formateado de la celda, como Cell.getStringValue() para valores numéricos, puede obtener un resultado inesperado o una excepción.

El siguiente código:

  1. Crea un libro de trabajo.
  2. Agrega una hoja de trabajo.
  3. Llena la hoja de cálculo con valores de cadena.
  4. Luego crea dos subprocesos que leen simultáneamente valores de celdas aleatorias. Si los valores leídos son correctos, no pasa nada. Si los valores leídos son incorrectos, se muestra un mensaje.

Si comentas esta línea:

testWorkbook.getWorksheets().get(0).getCells().setMultiThreadReading(true);

luego se muestra el siguiente mensaje:

if (s.equals("R" + row + "C" + col)!=true)

{

    System.out.println("This message box will show up when cells read values are incorrect.");

}

De lo contrario, el programa se ejecuta sin mostrar ningún mensaje, lo que significa que todos los valores leídos de las celdas son correctos.