DAW Desenvolupament d'aplicacions web ( Informàtica )
Teoria de DAW-MP03-UF5 - POO. Llibreries de classes fonamentals

#FpInfor #Daw #DawMp03 #DawMp03Uf05

(etiquetes - hashtags)
Threads en Java

Observa aquest exemple de Threads (fils d'execució) en Java. Para atenció a:

  • Classe interna (inner class) ThreadExample.
  • Comptador de threads global amb variable estàtica (threadnum).
  • Funció sleep per "dormir" una estona el thread. Cal posar-la dins d'un try/catch.

Més material:

Codi: (compila'l, executa'l i observa la sortida)

import java.util.*;
import java.lang.*;

class threadsexample
{
    public static int threadnum = 0;

    class ThreadExample extends Thread {
        int rounds = 10;
        int thread_id;
        int sleepms = 1000;
        // constructor
        ThreadExample(int ms) {
            sleepms = ms;
            thread_id = ++threadnum;
        }
        // runnable code
        public void run() {
            while(rounds>0) {
                System.out.println("Thread "+thread_id+" round "+rounds);
                rounds--;
                try {
                    sleep( sleepms );
                } catch (Exception e) {
                    // TODO: treat the exception, show error, etc.
                }
            }
        }
    }

    public static void main(String []args)
    {
        threadsexample te = new threadsexample();
        te.fes_algo();
    }

    public void fes_algo()
    {
        System.out.println("...iniciant...");

        ThreadExample t1 = new ThreadExample(1000);
        ThreadExample t2 = new ThreadExample(500);
        t1.start();
        t2.start();

        System.out.println("...finalitzant main...");
    }
}

Exercicis aquí

Resultats d'aprenentatge:
Continguts:

Editat 11 de abril de 2014 a les 18:26
per Enric Mieza

Pujat el 3 de abril de 2014 a les 11:46
per Enric Mieza

Consulteu nota legal i condicions