threads java – ProgramaciónExtrema.com https://programacionextrema.com Tutoriales de programación! Wed, 25 Nov 2015 02:25:10 +0000 es hourly 1 https://wordpress.org/?v=5.6.16 https://programacionextrema.com/wp-content/uploads/2015/10/cropped-icon-programacion-extrema-32x32.png threads java – ProgramaciónExtrema.com https://programacionextrema.com 32 32 AsyncTask en Android https://programacionextrema.com/2015/10/22/asynctask-en-android/ https://programacionextrema.com/2015/10/22/asynctask-en-android/#respond Thu, 22 Oct 2015 19:49:55 +0000 http://programacionextrema.com/?p=261 La clase AsyncTask en Android nos permite ejecutar distintas tareas en segundo plano, esto nos da la posibilidad de seguir con la ejecución de nuestra aplicación sin tener que esperar a que se termine de ejecutar una determinada instrucción. En este tutorial aprenderemos a utilizarla con un ejemplo muy sencillo. ¿Cómo crear un AsyncTask en… Read More

La entrada AsyncTask en Android aparece primero en ProgramaciónExtrema.com.

]]>
La clase AsyncTask en Android nos permite ejecutar distintas tareas en segundo plano, esto nos da la posibilidad de seguir con la ejecución de nuestra aplicación sin tener que esperar a que se termine de ejecutar una determinada instrucción.
En este tutorial aprenderemos a utilizarla con un ejemplo muy sencillo.

¿Cómo crear un AsyncTask en Android?

Para crear nuestro propio hilo de ejecución en Android debemos crear una clase que herede de AsyncTask. Esta clase nos da la posibilidad de implementar varios métodos:

onPreExecute: Aquí va todo el código que se ejecuta antes de comenzar el hilo.
doInBackground(Params…): Aquí va el código que se desea ejecutar en segundo plano.
onProgressUpdate(Progress…): Este método es invocado después de llamar a publishProgress(Progress…). Es utilizado para crear barras de progreso.
onPostExecute(Result): Aquí va el código que es ejecutado una vez que termina el hilo, el parámetro que recibe es el resultado de la función doInBackground(Params…).

De los métodos mencionados el único obligatorio es el doInBackground. Una vez que entendimos cuales son los componentes principales podemos crear nuestra AsyncTask:

import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;

public class MyAsyncTask extends AsyncTask<String, Void, String> {

	private Context context;

	public MyAsyncTask(Context context) {
		this.context = context;
	}

	@Override
	protected String doInBackground(String... params) {
		try {
			Thread.sleep(5000);
			return params[0];
		} catch (InterruptedException e) {
			return "Ha ocurrido un error.";
		}

	}

	@Override
	protected void onPostExecute(String result) {
		Toast.makeText(context, result,
				Toast.LENGTH_LONG).show();
	}
}

Esta AsyncTask es muy simple. Lo único que hace es dormirse 5 segundos y luego mostrar un resultado. Un detalle importante a mencionar es que el tipo genérico indicado en AsyncTask no necesariamente debe ser un string.

Para ejecutar esta tarea debemos hacer:

new MyAsyncTask(getApplicationContext()).execute("Tarea ejecutada correctamente.");

Donde el parámetro pasado al método execute es el resultado que se mostrará en caso de ejecutarse correctamente. A esta función también es posible enviarle más de un parámetro, la única condición es que todos deben ser del mismo tipo.

Espero que les haya gustado el ejemplo y ya saben que si tienen alguna duda al respecto no duden en preguntar.

La entrada AsyncTask en Android aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/22/asynctask-en-android/feed/ 0
Crear hilos o threads en Java https://programacionextrema.com/2015/10/12/crear-hilos-o-threads-en-java/ https://programacionextrema.com/2015/10/12/crear-hilos-o-threads-en-java/#respond Mon, 12 Oct 2015 20:39:23 +0000 http://programacionextrema.com/?p=48 Los Hilos o Threads en java son una parte fundamental en el desarrollo de software, ya que permiten que nuestro software realice varias tareas en simultaneo. Los threads no solo son utilizados en el lenguaje Java, ya que es un concepto muy importante muchos lenguajes lo implementan. ¿Qué pasaría si programamos un chat y queremos… Read More

La entrada Crear hilos o threads en Java aparece primero en ProgramaciónExtrema.com.

]]>
Los Hilos o Threads en java son una parte fundamental en el desarrollo de software, ya que permiten que nuestro software realice varias tareas en simultaneo.
Los threads no solo son utilizados en el lenguaje Java, ya que es un concepto muy importante muchos lenguajes lo implementan.
¿Qué pasaría si programamos un chat y queremos escribir y recibir mensajes al mismo tiempo? La solución se podría llevar a cabo realizando dos threads y que cada uno realice su trabajo de manera independiente.

Crear un thread en java es muy fácil, solo basta con crear una clase que herede de Thread y luego definir el método run. Luego crear una instancia de la clase e invocar al método start(). Al ejecutar ese método se realizará la tarea definida en el run() de manera asíncrona.

Ejemplo de Threads en java

Ahora vamos a ver un ejemplo sencillo donde tenemos un thread que imprime números pares o impares, el código sería el siguiente:

  public static class ImprimirNumeros extends Thread{
    private int numero = 0;

    public ImprimirNumeros(boolean pares) {
      if(pares)
        this.numero = 0;
          else
        this.numero = 1;
    }
		
    @Override
    public void run() {
      while(true){
        try {
          //Se duerme 2 segundos
          Thread.sleep(2000);
          System.out.println(numero += 2);
        } catch (InterruptedException e) {
        }
      }
    }
  }

En el código anterior tenemos la clase ImprimirNumeros que hereda de Thread y su método run() que imprime infinitamente (usando un while) cada 2 segundos un número par o impar dependiendo del boolean pasado por parámetro al constructor. Si el boolean es true serán los pares, caso contrario los impares.

Para poder probar este thread vamos a realizar el siguiente código dentro del método main:

  public static void main(String[] args) {
    new ImprimirNumeros(true).start();
    new ImprimirNumeros(false).start();
  }

Al ejecutar ese código podemos ver cómo se imprimen los números pares e impares al mismo tiempo y sin un orden específico, ya que para que se ejecute el segundo thread no hace falta que termine la ejecución del primero. Por ejemplo un posible resultado podría ser:

3
2
4
5
6
7
9
8
10

Bueno, espero que se haya comprendido el concepto de threads en java y recuerden que esto se puede aplicar en cualquier lenguaje de programación.

La entrada Crear hilos o threads en Java aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/12/crear-hilos-o-threads-en-java/feed/ 0