Una volta che i programmatori Java andare oltre i progetti di apprendimento di base , e soprattutto se vogliono iniziare a lavorare su giochi per computer , cominciano a lavorare con programmi multi-threaded . Questi sono i disegni di programma in cui l' applicazione viene avviata più sotto- attività, o thread , per eseguire simultaneamente gli uni agli altri . Ciò permette la creazione di interfacce utente più sofisticata di un programma a thread singolo . Necessità
Il bisogno di più thread viene dal disegno fondamentale della maggior parte dei linguaggi di programmazione , tra cui Java . Un programma passa attraverso il suo codice in modo lineare , l'esecuzione di ogni serie di istruzioni come viene a esso . Di conseguenza , un programma di base , thread singolo non può eseguire due funzioni contemporaneamente . Per esempio, un programma di base non può assumere sia input dell'utente ed eseguire un timer . Il timer si fermava fino a quando l'utente terminato digitando il suo ingresso , a quel punto il timer potrebbe riprendere .
Multitasking
Un programma Java può multitask assegnando due compiti che devono essere eseguiti contemporaneamente a due fili diversi . Mentre in senso tecnico i fili non sono stati perfettamente eseguiti in parallelo , come ogni thread è prevista per diversi tempi di accesso della CPU , il risultato finale per l'utente è di due attività che per tutti gli effetti vengono eseguiti simultaneamente. Tuttavia, quando più thread sono in esecuzione che l'accesso e modificare lo stesso insieme di variabili , il programmatore ha bisogno di utilizzare i blocchi , o altri metodi di concorrenza , al fine di garantire l'integrità dei dati .
Discussione Class < br > con
nuove stringhe vengono eseguiti con un oggetto " Discussione " . Il programmatore scrive il sub -task del nuovo thread sarà la gestione in una classe che estende l'interfaccia " Runnable ". Ciò richiede che la classe abbia un " run ( ) public void metodo" , che sarà il punto di partenza per il nuovo thread . Per avviare il thread , il programmatore crea una nuova istanza della classe sub -task , quindi crea un nuovo oggetto di discussione con l'istanza di sub -task come argomento . Infine , il programmatore invoca la "start ( ) " metodo della classe thread per avviare l'esecuzione del thread.
Daemon discussione
discussioni Daemon
sono processi cui unico scopo è di fornire informazioni , o eseguire attività per , altri thread in esecuzione . Perché un programma continuerà a funzionare finché non c'è un thread attivo , i programmatori hanno bisogno di prendersi cura di assicurare che tutte le discussioni si avvolgono su per il momento l'utente chiude il programma . Thread demoni rendono il processo di progettazione del programma Java più facile. Quando un programma ha solo thread demoni in esecuzione , si chiude . Perché thread demoni servizio solo altri thread , se tutti gli altri thread sono andate è una conclusione logica che il programma è completo. Programmatori Java girano un filo regolare in un thread demone richiamando il metodo " setDaemon " degli oggetti thread che creano con l'argomento " vero".