giovedì 26 settembre 2013

Q16

How many Threads are created when passing task to an Executor instance?
 
A.
A new Thread is used for each task.

B.
A number of Threads equal to the number of CPUs Is used to execute tasks.

C.
A single Thread Is used to execute all tasks.

D.
A developer-defined number of Threads is used to execute tasks.

E.
A number of Threads determined by system load is used to execute tasks.

F.
The method used to obtain the Executor determines how many Threads are used to execute tasks.
La risposta è F.
Executor è la più semplice delle interfacce definite nel pacchetto java.util.concurrent, che serve a realizzare la programmazione concorrente. Fornisce un singolo metodo, execute,  progettato allo scopo di rimpiazzare la classica sintassi di basso livello per la creazione di un thread .
            (new Thread (r)) start ();
con
            e.execute (r);
Con r un oggetto Runnable ed e un Executor.

Tuttavia, la definizione di execute è meno specifica. Se il linguaggio di basso livello crea un nuovo thread e lo lancia immediatamente Executor può invece utilizzare un thread già esistente per eseguire r, crearne uno nuovo e lanciarlo come nella sintassi di basso livello o anche mettere r in una coda in attesa che un thread di lavoro diventi disponibile.
Riferimenti:




Nessun commento:

Posta un commento