executor

Mattepuffo's logo
Creare un port scanner in Java

Creare un port scanner in Java

Ovviamente non parliamo di un port scanner professionale come potrebbe essere NMap.

Però, alla fine della fiera anche se scritto in Java, si è rivelato abbastanza veloce.

Mattepuffo's logo
Concorrenza in Java con Callable

Concorrenza in Java con Callable

Callable è un'interfaccia per Java che permette di impostare che una classe deve essere eseguita in thread.

Callable ci permette di scrivere codice un pò più flessibile rispetto alla classe Thread.

Rispetto a Runnable, inoltre è parametrizzabile e può sollevare un'eccezione checked.

Mattepuffo's logo
Concorrenza in Java con Runnable

Concorrenza in Java con Runnable

Runnable è una interfaccia per Java che permette di impostare che una classe deve essere eseguita in thread.

Runnable ci permette di scrivere codice un pò più flessibile rispetto alla classe Thread.

Mattepuffo's logo
Usare i thread in Java con Executor Framework

Usare i thread in Java con Executor Framework

In Java, per creare un task, generalmente implementiamo l'interfacca Runnable o estendiamo la classe Thread.

Con le ultime versioni (non so precisamente da quale) è possibile agire anche in altra maniera, ovvero usando l'Executor Framework.

La classe Executors (da non confondere con l'interfaccia Executor) ci mette a disposizione tre metodi:

  • newCachedThreadPool(): crea un nuovo thread quando serve, ed usa la cache per velocizzarne l'eventuale riuso
  • newFixedThreadPool(int nThreads): il numero massimo di thread viene impostato come parametro
  • newSingleThreadExecutor(): un unico thread che esegue tutti i task; se "muore" viene ricreato

Andiamo a vedere semplice esempio.