equal
deleted
inserted
replaced
776 |
776 |
777 // Run State management |
777 // Run State management |
778 |
778 |
779 // status check methods used mainly by ForkJoinPool |
779 // status check methods used mainly by ForkJoinPool |
780 final boolean isRunning() { return runState == 0; } |
780 final boolean isRunning() { return runState == 0; } |
781 final boolean isTerminating() { return (runState & TERMINATING) != 0; } |
|
782 final boolean isTerminated() { return (runState & TERMINATED) != 0; } |
781 final boolean isTerminated() { return (runState & TERMINATED) != 0; } |
783 final boolean isSuspended() { return (runState & SUSPENDED) != 0; } |
782 final boolean isSuspended() { return (runState & SUSPENDED) != 0; } |
784 final boolean isTrimmed() { return (runState & TRIMMED) != 0; } |
783 final boolean isTrimmed() { return (runState & TRIMMED) != 0; } |
|
784 |
|
785 final boolean isTerminating() { |
|
786 if ((runState & TERMINATING) != 0) |
|
787 return true; |
|
788 if (pool.isAtLeastTerminating()) { // propagate pool state |
|
789 shutdown(); |
|
790 return true; |
|
791 } |
|
792 return false; |
|
793 } |
785 |
794 |
786 /** |
795 /** |
787 * Sets state to TERMINATING. Does NOT unpark or interrupt |
796 * Sets state to TERMINATING. Does NOT unpark or interrupt |
788 * to wake up if currently blocked. Callers must do so if desired. |
797 * to wake up if currently blocked. Callers must do so if desired. |
789 */ |
798 */ |