# sec_interp.gui.parallel_geology module

Parallel geology processing service.

This module implements parallel processing capabilities for geology services using QThread.

class sec_interp.gui.parallel_geology.GeologyProcessingThread(*args: Any, **kwargs: Any)

  Bases: `QThread`

  Thread for parallel geological data processing.

  Initialize processing thread.

  Parameters:

    - data – List of items to process

    - processing_func – Function to process each item

  progress_updated

    alias of `int`

  processing_finished

    alias of `object`

  error_occurred

    alias of `str`

  __init__(data: list[Any], processing_func: Callable[[Any], Any])

    Initialize processing thread.

    Parameters:

      - data – List of items to process

      - processing_func – Function to process each item

  run()

    Execute processing in separate thread.

class sec_interp.gui.parallel_geology.ParallelGeologyService(*args: Any, **kwargs: Any)

  Bases: `QObject`

  Service with parallel processing using QThreads.

  all_finished

    alias of `list`

  batch_progress

    alias of `int`

  error_occurred

    alias of `str`

  process_profiles_parallel(profiles: list[Any], processing_func: Callable[[Any], Any] | None = None)

    Process multiple profiles in parallel using threads asynchronously.

    Parameters:

      - profiles – List of profiles to process

      - processing_func – Optional custom processing function. If None, uses internal _process_profile_chunk.