Мы можем предотвратить выполнение потока, используя следующие методы:
- урожай()
- Присоединиться()
- спать()
yield method: метод yield приостанавливает текущий выполняющийся поток, чтобы дать возможность ожидающему потоку того же приоритета. если нет ожидающего потока или все ожидающие потоки имеют низкий приоритет, то этот же поток может продолжить выполнение.
несколько потоков ожидают с одинаковым приоритетом, тогда какой из ожидающих потоков будет выполняться, мы не можем ожидать. это зависит от планировщика потоков.
В приведенной выше программе мы прокомментируем метод Thread.yield (). тогда оба потока будут выполняться одновременно. мы не можем ожидать, какой поток выполнится первым. если мы не комментируем метод Thread.yield (), тогда дочерний поток всегда вызывает метод yield. из-за того, что этот основной поток получает шанс в кратчайшие сроки, и поэтому основной поток завершится первым.
Метод Join (): - Если поток хочет дождаться завершения какого-либо другого потока, мы должны выбрать метод соединения.
Пример: - Если поток t1 хочет дождаться завершения t2, тогда t1 должен вызвать t2.join ().
- public final void join () выбрасывает InterruptedException
- public final void join (long ms) выбрасывает InterruptedException
- public final void join (long ms, int ns) выбрасывает InterruptedException
Метод sleep (): - Если мы не хотим выполнять какие-либо операции в течение определенного времени, мы должны перейти к методу сна.
public static native void sleep (long ms) выдает исключение InterruptedException
public static void sleep (long ms, int ns) выбрасывает InterruptedException
Давайте подключимся на Github, LinkedIn, StackOverflow и на моем Веб-сайте.