1 / 7

Programmazione concorrente

Programmazione concorrente. Java. Multithreading. Multithreading flussi di esecuzione parallela all’interno di un unico processo In Java un thread è un metodo che viene eseguito contemporaneamente ad altri

takoda
Download Presentation

Programmazione concorrente

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmazione concorrente Java

  2. Multithreading • Multithreading • flussi di esecuzione parallela all’interno di un unico processo • In Java un thread è un metodo che viene eseguito contemporaneamente ad altri • La gestione dei thread java è totalmente indipendente dal sistema operativo ospite

  3. Classe derivata • Il metodo più semplice per creare un thread è quello di definire una classe derivata dalla classe java.lang.Thread • La classe deve ridefinire il metodopublicvoidrun() • La classe Thread ha un metodo start() che richiama implicitamente il metodo run • Il metodo start() non ha parametri quindi gli eventuali parametri devono essere gestiti tramite il costruttore

  4. Esempio public classe EsempioThreadextendsjava.lang.Thread { … public voidrun() { … } }

  5. Esempio di utilizzo public staticvoidmain(String[] args) { … EsempioThread es1 = new EsempioThread(…); es1.start(); while(es1.isAlive);

  6. isAlive() • Il metodo isAlive() restituisce true se il thread è ancora in esecuzione • In alternativa al metodo isAlive si può utilizzare il metodo join che attende il completamente del thread

  7. Metodi di Thread • long getid() restituisce l’identificatore del thread • voidsetName(String nome) setta il nome • StringgetName() restituisce il nome • void interrupt() interrompe il thread • voidsetPriority(intp) stabilisce la priorità

More Related