Concurrencia de Java: métodos yield(), sleep() y join()

En este artículo, aprenderemos qué son los métodos yield(), join() y sleep() en Java y cuál es la diferencia básica entre estos tres. Primero, veremos la introducción básica de estos tres métodos, y luego los compararemos.

Podemos evitar la ejecución de un hilo usando uno de los siguientes métodos de la clase Thread. Los tres métodos se utilizarán para evitar que se ejecute el subproceso.

Java

// Java program to illustrate
// sleep() method in Java
  
import java.lang.*;
  
public class SleepDemo implements Runnable {
    Thread t;
    public void run()
    {
        for (int i = 0; i < 4; i++) {
            System.out.println(
                Thread.currentThread().getName() + "  "
                + i);
            try {
                // thread to sleep for 1000 milliseconds
                Thread.sleep(1000);
            }
  
            catch (Exception e) {
                System.out.println(e);
            }
        }
    }
  
    public static void main(String[] args) throws Exception
    {
        Thread t = new Thread(new SleepDemo());
  
        // call run() function
        t.start();
  
        Thread t2 = new Thread(new SleepDemo());
  
        // call run() function
        t2.start();
    }
}

Java

// Java program to illustrate join() method in Java
  
import java.lang.*;
  
public class JoinDemo implements Runnable {
    public void run()
    {
        Thread t = Thread.currentThread();
        System.out.println("Current thread: "
                           + t.getName());
  
        // checks if current thread is alive
        System.out.println("Is Alive? " + t.isAlive());
    }
  
    public static void main(String args[]) throws Exception
    {
        Thread t = new Thread(new JoinDemo());
        t.start();
  
        // Waits for 1000ms this thread to die.
        t.join(1000);
  
        System.out.println("\nJoining after 1000"
                           + " milliseconds: \n");
        System.out.println("Current thread: "
                           + t.getName());
  
        // Checks if this thread is alive
        System.out.println("Is alive? " + t.isAlive());
    }
}

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *