Package org.optaplanner.core.impl.heuristic.thread

## Class MoveThreadRunner<Solution_,​Score_ extends Score<Score_>>

- java.lang.Object
- - org.optaplanner.core.impl.heuristic.thread.MoveThreadRunner<Solution_,​Score_>

- All Implemented Interfaces:
    `Runnable`

      public class MoveThreadRunner<Solution_,​Score_ extends Score<Score_>>
      extends Object
      implements Runnable

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected org.slf4j.Logger` | `logger` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MoveThreadRunner​(String logIndentation, int moveThreadIndex, boolean evaluateDoable, BlockingQueue<MoveThreadOperation<Solution_>> operationQueue, OrderByMoveIndexBlockingQueue<Solution_> resultQueue, CyclicBarrier moveThreadBarrier, boolean assertMoveScoreFromScratch, boolean assertExpectedUndoMoveScore, boolean assertStepScoreFromScratch, boolean assertExpectedStepScore, boolean assertShadowVariablesAreNotStaleAfterStep)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | `getCalculationCount()` | This method is thread-safe.
    `protected void` | `predictWorkingStepScore​(Move<Solution_> step, Score_ score)` |
    `void` | `run()` |
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected final transient org.slf4j.Logger logger

  - ### Constructor Detail

    - #### MoveThreadRunner

          public MoveThreadRunner​(String logIndentation,
                                  int moveThreadIndex,
                                  boolean evaluateDoable,
                                  BlockingQueue<MoveThreadOperation<Solution_>> operationQueue,
                                  OrderByMoveIndexBlockingQueue<Solution_> resultQueue,
                                  CyclicBarrier moveThreadBarrier,
                                  boolean assertMoveScoreFromScratch,
                                  boolean assertExpectedUndoMoveScore,
                                  boolean assertStepScoreFromScratch,
                                  boolean assertExpectedStepScore,
                                  boolean assertShadowVariablesAreNotStaleAfterStep)

  - ### Method Detail

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`

    - #### predictWorkingStepScore

          protected void predictWorkingStepScore​(Move<Solution_> step,
                                                 Score_ score)

    - #### getCalculationCount

          public long getCalculationCount()

      This method is thread-safe.
      Returns:
        at least 0

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`