Salve, questo è deciso a fare nell'ultima lezione, abbiamo visto come potremmo usare un fissatore.
Bene, abbiamo anche visto che il programma dimostrativo aveva la limitazione dei cicli di CPM da polso e la limitazione era
che JVM non poteva essere arrestato anche se le attività venivano portate a termine.
In questa immagine vedremo come risolvere questi limiti, ma la demo farà parte della prossima
lezione.
Esegui tutto questo è ciò che useremo per risolvere i problemi come menzionato nella lezione precedente.
Si tratta di un'interfaccia che estende l'esecutore in una nuova correzione che dipenderà dal servizio di esecuzione poiché è
un buon esecutore dell'affidabilità del servizio nell'ultima lezione che abbiamo avuto come riferimento quando si
trattava di esecutore extra quando era importante che Walk Executer avesse un solo limite È un esecutore tanto più
sobrio è molto più vasto per fornire metodi per l'invio di compiti e per gestire le munizioni di Hostler sui
metodi di invio nel servizio di esecuzione.
Fornisce un metodo chiamato submit che è un metodo di invio migliore rispetto all'interfaccia
old ed executor proprio come exit sarebbe nel metodo submit sull'esecutore che non è un executor, quindi l'argomento rende un'attività
come nel libro sottoscritto Quindi un'istanza di futuro che è un'altra interfaccia nel
pacchetto Java dot dot com corrent liberal causa futuro in una scommessa non qui.
Essere considerato come eseguibile come prima.
Oppure può essere una chiamata che è un'altra interfaccia nel pacchetto simultaneo dottrinale Java.
Tieni a mente che runnable è Java, non il pacchetto Gel di Lanc, che
è stato introdotto simultaneamente in Delphi su tutte le utility simultanee per quel tipo di task che i runable di ADA sono chiamabili.
Ciò significa che il modo in cui i metodi di invio dell'invio non sono richiamabili è una migliore rappresentazione del compito quando l'esecuzione
del compito a completamento può richiedere del tempo e essere in grado di soddisfare anche il
risultato della competizione.
Ad esempio nel nostro downloader un esempio di indicizzatore è possibile effettuare il download di un'attività implementare un'offerta
istantanea richiamabile su nable, come abbiamo fatto fino a quando potrebbe richiedere un po 'di tempo
per i download di una pagina su Blunstone ordinato la pagina web è necessaria dall'indicizzatore quindi argomento leggi un'istanza futura in futuro ha un metodo
chiamato Ottieni blocchi vich. Il compito di ondel è completato.
La questione avviene immediatamente se l'attività è già stata completata nei nostri esempi dimostrativi se passiamo l'attività downloader
per inviare il metodo, quindi cercando di ottenere il woodblock dell'istanza di ritorno futuro sulle pagine Web di build,
in modo che il futuro possa essere simile al metodo del dibattito.
Questo è un ciclo BCPL e blocca fino a quando il risultato non viene calcolato.
Quindi questo è il modo in cui affronteremo la limitazione nel DM precedente o i tuoi cicli
verranno sprecati.
Se l'attività è richiamabile, il futuro non ricevuto restituirà effettivamente il risultato calcolato da tale attività se l'attività non
è eseguibile, quindi in futuro o non restituirà un valore nullo anziché calcolato
o non otterrà che il metodo get lo blocchi a prescindere se l'attività è eseguibile o eseguibile.
È solo Ebbert callable che viene scritto in scatola.
Il motivo per cui il costo calcolato qui è il modo in cui l'interfaccia richiamabile sembra
avere un unico metodo chiamato Chiama superato implementerebbe questa interfaccia.
Ora ricorda che runnable ha un unico metodo eseguito come puoi vedere.
Il collimatore a differenza del run in una routine eseguibile, quindi il dessert potrebbe anche generare un'eccezione.
Non che il metodo di esecuzione in runnable non genera un'eccezione per eccezione.
Voglio dire, l'eccezione Ceb tuttavia sul metodo può generare un'eccezione non controllata che è in quella materia.
Puoi chiamare per controllare l'eccezione in ogni posto.
È possibile leggere sull'eccezione non controllata che il thread sarebbe terminato ma questo backtrace.
Quindi questo è qualcosa che non è stato specificato in precedenza durante la nostra discussione sul runnable in
modo che callable possa restituire un risultato e possa anche fare un'eccezione.
In effetti il valore restituito dal cane futuro ottiene il valore restituito dal metodo coggato più avanti nella nostra demo.
Vedremo come l'attività downloader implementa questa interfaccia per restituire la pagina Web scaricata.
Si noti che se l'attività non deve restituire un valore, è possibile implementarlo come eseguibile nel nostro indice
o l'attività può implementare questa eseguibile invece di chiamabile in quanto non deve restituire alcun valore.
Quando fa il processo di sottomissione dell'uscita Kutuzov è.
Vediamo ora come esecutore SILVIS il mio processo di combinazione Majus.
Richard questa è la seconda edizione del precedente Dym che JVM ha continuato a eseguire nonostante tutte le
attività che cercavano di completare esattamente per risolvere questo ciclo di vita.
Solo tre stati che eseguono lo spegnimento del primo executor terminato, quindi questo sarà in
esecuzione e in questo stato accetta DOS e li esegue.
La prossima uscita dal syllabus può essere spostata nello stato di arresto invocando il suo metodo di
spegnimento o nomenclatura di spegnimento.
Una volta invocato uno di questi metodi, nessuna nuova classe sarà accettata da ex-secret
o così si sta tentando di inviarci si verificherà un'eccezione di runtime se Saddam è e si spegnerà in modo
aggraziato.
Questo è tutto il compito che è stato presentato finora sarà eseguito.
Se viene invocato Shadow, come mezzo suggerire che l'esecutore verrà arrestato bruscamente.
Ciò significa che tutti quelli che ci stanno attualmente eseguendo verranno interrotti tramite chiamate di interrupt e che sono in attesa
che nella coda da prelevare non vengano elaborati in queste date in attesa che la coda
venga restituita dal metodo in modo che possano essere impostati per l'elaborazione successiva in modo che Shadowman non possa
essere visto come terza interruzione nel contesto non esecutivo.
Ancora una volta, non una volta una qualsiasi di queste cose, così l'esecutore l'esecutore non accetterà alcun nuovo Das
finalmente una o due volte che sono stato completato dopo l'invocazione della chiusura Osher non conosce le mosse
dell'intruso.
Dominique ex-stato C'è anche una cosiddetta Germania dell'Est che ha fatto un servizio esecutivo che fa
raggiungere un esecutore migliore a una corte statale dominata, non una domanda che puoi avere è perché dobbiamo preoccuparci
se l'esecutore domina o meno.
Un'ipotesi è per lo scopo del monitoraggio ad esempio in un'applicazione su larga scala in cui potremmo
decidere come riutilizzare lo stesso executer di Hamlin a un certo punto potremmo voler chiudere l'applicazione,
nel qual caso possiamo invocare il metodo Sheldan che comportano tutte le attività esistenti da completare e
non accetteranno nessuna novità.
Destra.
Ma anche questo richiede troppo tempo per essere completato.
Quindi potremmo voler accelerare il processo.
Quindi, se possiamo aspettare un certo periodo di tempo invocando il predominio inaspettato e il servizio
di esecutori che i ritorni sono veri se tutte le attività sono completate imperterrite, è seguita da ciò che accade in questo
caso.
Si può invocare Charbonneau che sappiamo ignora il passato che orating in the code
e ininterrotte che vengono catturati ed eseguiti.
Per favore sappiate che non c'è Dio e B che interrompono realmente interromperanno un compito reale che
il compito potrebbe richiedere a come la logica per rispondere all'interrupt o così possiamo invocare il dominio eccessivo ancora una volta
sotto l'esecutore ancora non raggiunge lo stato di dominatori allora possiamo stampare la dichiarazione che
l'executer non può terminare.
Ecco come possiamo monitorare la velocità dell'applicazione quando stiamo provando a chiudere finalmente.
Parliamo un po 'del futuro.
Abbiamo visto che un'istanza futura sarebbe stata scritta nel metodo submit sull'esecutore e un'istanza
futura rappresenta il ciclo di vita di un'attività.
In altre parole, può essere utilizzato per tenere traccia dell'avanzamento di un sottomercato non è stato nominato alcun importo di aiuto.
Puoi pensare al futuro come a un oggetto che è stato spinto in futuro, ma con un calcolo incompleto che
è necessario in altre parti del programma.
Quindi l'oggetto futuro può aiutare a guardare indietro.
Normalmente i calcoli incompleti sono stati completati per tutto il tempo.
Volevamo solo andare sul metodo GET che blocca se l'attività non è stata ancora completata.
E una volta completata l'attività, restituisce il computer al risultato.
Se l'attività è chiamabile ma se le attività non sono conoscibili, possiamo vedere un valore nullo.
E qui è l'interesse della missione del futuro budak non presentato presentare il compito di sottomercato ufficio del ciclo di
vita del concerto, non importa chi si può essere coinvolti.
Chi può selezionarci.
Potrebbe identificare anche se Basken o cancro.
E ciò potrebbe essere dovuto al fatto che il taske è già in esecuzione o è già stato cancellato.
Ma se il paniere non è ancora stato avviato, il metodo del consiglio non funziona, quindi potrebbe essere fatto
e il compito non sarà Stockard.
Ma se l'attività è attualmente in esecuzione, potrebbe essere scritta indipendentemente da ciò che viene passato o
il parametro del metodo potrebbe interrompersi.
Se è in esecuzione come gruppo per questo barometro, l'attività in esecuzione potrebbe essere interrotta in seguito è il metodo East
Cancel e restituirà un gruppo se l'attività è stata annullata in precedenza.
Il metodo can cancel next è materia facile che restituisce true se l'attività è stata completata.
Non puoi munizioni Mirta su un'eccezione o a causa di una cancellazione, ma stai migliorando.
Che già sappiamo.
Finalmente c'è una specie di oceano per ottenere una percentuale di tempo per la maggior parte del tempo o
della competizione su cui competere.
Non sono un'eccezione
Se trascorre un tempo specificato e l'attività non viene completata in un ospite di utilizzo rapido e continuo.
Se non si desidera attendere l'attività del downloader per terminare il download per più di uno
o due secondi, è possibile utilizzare questo metodo get time una delle lezioni di follow up quindi concentrarsi sull'inserimento dei limiti
di colpa sul nostro lavoro.
Non è che mi sbaglio, prendi byme get tranne per eccezione Maat per il tempo migliore, ma quello è il
controllo che controlla le eccezioni una è un'eccezione interrotta.
L'è un'eccezione.
Poiché questi metodi bloccano i loro spawn per interrompere le chiamate generando un'esecuzione di
esecuzione interrotta, un'eccezione verrebbe generata se l'attività sottostante lanciava qualche eccezione sulla causa
effettiva dell'eccezione di esecuzione può essere ispezionata invocando get kosmic che anche se è passata attraverso un
eccezione non controllata chiamata eccezione di cancellazione.
Se il compito era il cancro, allora quelli sono i diversi metodi in futuro è l'effettiva
istanza futura scritta dal metodo executor submit è un'istanza di una classe chiamata Future
task che implementa il futuro.
Infine riassumiamo ciò che abbiamo imparato.
Tutto ciò che era insieme a Coira.
In realtà è piuttosto semplice.
Il primo passo è stato quello di ottenere un tipo di riferimento dell'esecutore sarebbe il più esteso esecutore
SILVIS e si fermò all'interfaccia di esecuzione.
Il prossimo è di inviare l'attività all'esecutore.
L'altro metodo di invio che risponderebbe al compito futuro dell'oggetto qui può essere o eseguibile o calleble contla
chiamabile su un deserto.
Posso anche lanciare un'eccezione controllata il prossimo passo sarebbe invocare il metodo get sull'istanza return return e
questo metodo si bloccherebbe e quindi l'attività sarà completata.
Acquistalo e il risultato della competizione se l'attività inviata è stata richiamabile altrimenti restituirebbe un
valore nullo.
Infine, dobbiamo arrestare l'executor e non è necessario arrestarlo immediatamente dopo l'elaborazione.
Su quali applicazioni potremmo avere un numero elevato di thread, potremmo voler mantenere vivo l'esecutore per un lungo
periodo di tempo in modo che possa essere utilizzato per eseguire diversi test.
Quindi questo è tutto nel prossimo periodo.
Faremo una demo su ciò che abbiamo imparato in questa conferenza.
Grazie.