halt the algorithm
true if the algorithm was suspended successfully. False otherwise.
An algorithm which has suspended may later be resumed. Calling this
method on an algorithm which is not running will have no effect and return true.
This method will be called in the context of the algorithm caller thread.