2015-08-06 11 views
8

Dalla AsynchronousFileChannel API:Qual è il pool di thread "dipendente dal sistema"?

Quando un AsynchronousFileChannel viene creato senza specificare un pool di thread allora il canale è associato a un pool di thread predefinito dipendente dal sistema che possono essere condivisi con altri canali.

Non ho visto questa terminologia da nessun'altra parte e non ho trovato alcuna spiegazione concreta tramite ricerca web. Qual è esattamente il pool di thread predefinito dipendente dal sistema? Quali sono le sue caratteristiche? E come potrebbero variare tra i sistemi?

+1

Bene, sono cieco 'Il pool di thread predefinito è configurato dalle proprietà di sistema definite da' ['AsynchronousChannelGroup'] (http://docs.oracle.com/javase/7/docs/api/java/ nio/channels/AsynchronousChannelGroup.html) 'class' –

+0

Basta andare e rispondere alla tua stessa domanda :) –

risposta

2

Basta leggere la documentazione di un po 'di più: pool di thread

Il valore di default è configurato dalle proprietà di sistema definito dalla classe AsynchronousChannelGroup.

E se si salta there, si vede:

Oltre ai gruppi creati in modo esplicito, la macchina virtuale Java mantiene un gruppo di default a livello di sistema che è costruito automaticamente. I canali asincroni che non specificano un gruppo al tempo di costruzione sono associati al gruppo predefinito. Il gruppo predefinito dispone di un pool di thread associato che crea nuovi thread in base alle esigenze. Il gruppo predefinito può essere configurato mediante le proprietà di sistema definite nella tabella seguente. Laddove ThreadFactory per il gruppo predefinito è non configurato, i thread in pool del gruppo predefinito sono thread daemon .

... seguito dall'elenco dei parametri di configurazione.

+1

Lo so, l'ho visto subito dopo aver postato la domanda. Do la colpa a essere sveglio tutta la notte. Ma grazie. –

+2

@ b1nary.atr0phy Succede a tutti. – biziclop

Problemi correlati