Domanda Dubbio Threads

Stato
Discussione chiusa ad ulteriori risposte.

carbos

Utente Emerald
14 Agosto 2010
957
132
122
477
Io sto studiando java e sto seguendo un ebook , sono arrivato ai threads, ma non ho ben capito cosa sono e come funzionano, cioè il loro utilizzo è elevato o raro? Potete dirmi qualcosa di più sulla loro applicazione?
 
Un Thread è un processo che appartiene ad un programma o ad un altro processo.
Vengono usati per svolgere più operazioni (processi) all'interno di una applicazione e possono essere sincronizzati e statici (forse ne esistono di altri ma aspetta la risposta di qualcuno più competente).
Vengono implementati attraverso la classe java.lang.Thread ed il loro utilizzo è diffuso soprattutto per grandi progetti...ovvero dipende dall'applicazione da sviluppare.
 
Sulla maggior parte dei sistemi operativi thread e processo sono due concetti separati. Un processo può avere diversi thread. I vantaggi di questi sono molteplici, tra cui la condivisione della memoria, risorse, spazio d'indirizzamento e comunicazione e context switch più veloci e semplici.

Come ha anche detto examinedcastle vengono usati principalmente per svolgere più operazioni parallelamente (per quanto permesso dallo scheduler almeno). Sempre come ti è stato detto dipende molto dalla tua applicazione: una chat, un browser o un web server necessitano di essere multithreading per essere veramente efficaci (e funzionanti alla fine).

Ad esempio, in una chat, ci potrebbero essere 2 thread: uno in ascolto dal server per i nuovi messaggi e uno per l'invio dei tuoi. Senza questi thread, non potresti avere un'istruzione bloccante sempre in attesa del server e voler scrivere/inviare il tuo messaggio. Saresti bloccato nel precedente loop. In questo modo, invece, lo scheduler prende un thread e poi l'altro, continuamente, permettendoti di avere la sensazione di multitasking e poter quindi lavorare con la tua applicazione.
 
Stato
Discussione chiusa ad ulteriori risposte.