Programmazione
Asp
Asp.NET
Java
Javascript
Php
Oracle

Svaghi
Ascolta Radio
Faccine
Libri
Links

Varie
Cerca nel sito...
Segnalazioni
Scrivimi


JAVA utilizzo dei thread

Un processo è un flusso di esecuzione corrispondente ad un programma.
Un thread è un flusso di esecuzione corrispondente ad una sequenza di istruzioni all'interno di un processo.
Anche in questo caso occorre distinguere il concetto di esecuzione di una sequenza di istruzioni da quello di thread perchè ci sono diverse essere diverse esecuzioni parallele di uno stesso codice che danno origine a thread diversi.
Ci sono due modalità per la creazione di un thread:

- Creare istanze della classe thread

class SempliceThread extends Thread{
        String messaggio;
        public SempliceThread (String s){
                messaggio = s;
        }

        public void run(){
                for(int i = 0; i < 100; i++){
                        System.out.println(messaggio);
                }
        }
}

public class SimpleThread{
        public static void main(String[] args){
                SempliceThread st1, st2;
                st1 = new SempliceThread("Sono il thread 1");
                st2 = new SempliceThread("Sono il thread 2");
                st1.start();
                st2.start();
        }
}

- Creare istanze di oggetti che implementano l'interfaccia Runnable

class SempliceRunnable implements Runnable{
        String messaggio;
        public SempliceRunnable (String s){
                messaggio = s;
        }

        public void run(){
                for(int i = 0; i < 100; i++){
                        System.out.println(messaggio);
                }
        }
}

public class SimpleRunnable{
        public static void main(String[] args){
                SempliceRunnable sr1, sr2;
                sr1 = new SempliceRunnable("Sono il thread 1");
                sr2 = new SempliceRunnable("Sono il thread 2");
                Thread t1 = new Thread(sr1);
                Thread t2 = new Thread(sr2);
                t1.start();
                t2.start();
        }
}