Imaginsystems


Tecniche di Programmazione - Codici Sorgenti - News Informatiche
Archivio Posts
Anno 2014

Anno 2013

Anno 2012
Statistiche
  • Views Home Page: 74.609
  • Views Posts: 554.684
  • Views Gallerie: 0
  • n° Posts: 210
  • n° Commenti: 224

JAVA - JAVA E LA GESTIONE DEI THREAD (Codice)

JAVA - JAVA E LA GESTIONE DEI THREAD  (Codice)


 

Una delle potenti caratteristiche del linguaggio Java è il supporto per la programmazione concorrente o parallela. Tale feature permette di organizzare il codice di una stessa
applicazione in modo che possano essere mandate in esecuzione contemporanea più parti di codice differenti fra loro.

I thread, rappresentano il mezzo mediante il quale, Java fa eseguire un'applicazione da più Virtual Machine contemporaneamente, allo scopo di ottimizzare i tempi del runtime. Ovviamente, si tratta di un'illusione: per ogni programma solitamente esiste un'unica JVM ed un'unica CPU. Ma la CPU può eseguire codice da più progetti all'interno della gestione della JVM per dare l'impressione di avere più processori.

Oggi vediamo una piccola classe avviata da un più Thread, in futuro amplierò questo discorso con altri esempi un può più complessi con esempi più utili che possono essere ripresi in vari progetti..

       CODICE JAVA - main.java :
public class main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		ThreadCrypto servizio1 = new ThreadCrypto("Servizio1");
		ThreadCrypto servizio2 = new ThreadCrypto("Servizio2");
		ThreadCrypto servizio3 = new ThreadCrypto("Servizio3");
		
		//Avvio contemporaneamente i 3 servizi
		servizio1.start();
		servizio2.start();
		servizio3.start();
		
	}

}
Codice della classe ThreadCrypto ...

       CODICE JAVA - ThreadCrypto.java :
import java.util.Random;

public class ThreadCrypto extends Thread{

	private String name;
	private Random r;
	private int a;
	
	
	public ThreadCrypto(String name){
		this.name = name;
		this.r = new Random();
		this.a = this.r.nextInt(11);
	}
	
	public void run(){
		try {
			Thread.sleep(this.a*1000);
			System.out.println(this.name + " - " + this.a + " s");
			
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			 System.out.println("Thread "+ this.name + " interrotto");
			e.printStackTrace();
		}
		
	}
	

}
 
By ImaginSystems & Queen Gin   
Categoria: JAVA
mercoledì, 18 set 2013 Ore. 12.43

Messaggi collegati


Ora e Data
Mappa
Blogs Amici
    Copyright © 2002-2007 - Blogs 2.0
    dotNetHell.it | Home Page Blogs
    ASP.NET 2.0 Windows 2003