Salve nell'ultima lezione vedremo come possiamo avviare una discussione.
Ora andiamo avanti e implementarlo.
Quindi oltre a questo oltre a implementarlo, possono anche guardare un modo alternativo per lanciarlo attraverso di
esso.
OK.
Quindi c'è un secondo modo per farlo.
E vedremo anche questo e poi vedremo come possiamo mettere una minaccia per dormire.
Abbiamo detto che possiamo invocare il metodo del sonno per farlo e lo vedremo anche noi.
Quindi per questo ho aggiunto un nuovo pacchetto chiamato com darksome e big square.
Concorrenza e stiamo andando alle nostre classi all'interno di questo pacchetto.
Quindi il primo processo è il mio frustrato poiché questo sarà frustrante.
Quindi ecco il modello su cui stiamo andando a seguirlo ora.
Quindi andiamo avanti e creare una discussione.
Quindi stiamo creando un thread di cui abbiamo bisogno.
OK, quindi creiamo un compito.
Fondamentalmente abbiamo bisogno di creare un oggetto runnable.
Chiamiamo solo un caso classico, quindi questa è una classe.
Quindi andiamo avanti e creare una classe qui.
O basco.
Ora chiedi come implementare eseguibile.
Sappiamo che k.
Ora sappiamo che il Runnable ha un metodo chiamato sbagliato.
Destra.
Quindi dobbiamo implementare che abbiamo bisogno di sovrascrivere quel metodo.
Quindi eccolo qui.
Ora qui mettiamo questo sistema in una dichiarazione scura dice lo spazio esterno e diciamo all'interno di correre.
Quindi la vera business logic del compito va qui.
La minaccia in realtà va qui.
Nell'esercitazione su questo metodo possiamo effettivamente invocare altri metodi.
Quindi andiamo avanti e iscriviamo altri metodi.
Quindi scriviamo un metodo chiamato go.
Quindi è una questione privata.
Quindi,
ancora una volta basta copiare questo accesso all'interno di go e aggiungiamo una più di una terza chiamata in più.
Quindi fondamentalmente questo è il nostro compito.
La nonna è qui su di esso come nel rock e andare avanti è fatta a camminare di più.
Quindi la speranza è che volessi mostrarti il modo in cui quel filo dovrebbe essere qui.
Quindi questi multipli in questione per quello.
Speriamo solo che la struttura del lavoro ci aiuti e non veda la sequenza degli eventi.
Quindi l'abbiamo risolto.
Ma qui abbiamo il metodo principale ora.
Abbiamo creato il compito.
Il prossimo passo è creare il thread.
Quindi abbiamo semplicemente bisogno di istanziarlo.
E questo è fantastico e dobbiamo passare l'incarico, quindi prova come un lavoratore e chiedi loro di lavorare.
Ora siamo nel nuovo stato Giusto.
Il prossimo passo è iniziare quel thread o non succede niente finché non lo facciamo.
OK.
Ecco come iniziamo la discussione.
E mettiamo anche una dichiarazione pensata per il sistema qui.
E questo è tutto.
Quindi, in questo caso, se eseguiamo J. B. lassù ci saranno due tracce.
Uno è il thread principale creato da GBM per eseguire il metodo principale stesso.
Quindi questo sarebbe il thread, ma poi stiamo anche creando un secondo thread.
Ok, così arbitrario a cui eseguiamo quando eseguiamo questo programma su entrambi non sono minacce di
Beamon su JVM, ma non terminano fino a quando non vengono eseguite le minacce con la loro esecuzione.
Quindi andiamo avanti ed eseguilo.
Quindi, quello che sta succedendo qui è che Richard Mueller sta correndo velocemente la minaccia principale per il completamento
e quindi esegue la seconda traccia, chiamiamolo fa una seconda minaccia.
E lo fa.
Funzionando al completamento.
Chi ottiene la corsa interna viene richiamato.
E poi vai avanti di più.
Ora vediamo.
Continuiamo a funzionare finché non vedremo il passaggio tra le due minacce.
OK, ora qui puoi vedere che questa volta è stata lanciata la seconda minaccia.
OK.
Quindi siamo dentro l'Iran.
Quindi la seconda minaccia sta nel correre dritto, quindi Richard ular lo sta inviando allo stato di esecuzione in
modo che possa portare il thread principale in stato di esecuzione.
OK.
Quindi la seconda parte è stata stressata e in runnable è rimasto sul thread principale ora è in esecuzione.
Ma dopo che la minaccia principale è stata eseguita fino al completamento, il secondo thread tornerà allo stato
di esecuzione.
Questo è ciò che sta facendo la struttura.
E poi continua ad eseguire la parte rimanente della seconda traccia che è invocare andare
avanti per lavorare di più.
Quindi possiamo vedere che Richard Juror non si comporta in modo coerente.
OK quindi non c'è Dio e B su come funziona.
E quindi non dovremmo mai fare affidamento su di esso per la correttezza dei nostri programmi.
Quindi questo è ciò che Richard Janor finisco.
Ora diamo un'occhiata al secondo approccio.
Finora ho già creato questa classe chiamata il mio diritto a.
OK.
Quindi questa è una laurea d'arte troppo lunga.
Destra.
E qui non c'è ragionevole che si possa fare.
Ma la cosa è che la classe di autocarri stessa anche se la classe stessa implementa effettivamente un'interfaccia eseguibile.
OK.
Quindi in questo approccio il compito sarà definito all'interno della Croce Rossa stessa.
OK.
Quindi quella minaccia.
Quindi ho detto che il vetro del battistrada sta anche implementando l'interfaccia eseguibile Nobile che significa che il filo scuro
ha anche un trasmettitore su di esso ha la materia oscura ma che non importa non fa nulla è
praticamente come una questione vuota.
Puoi guardare il codice sorgente.
Ha qualcosa che fa qualcosa ma non succede nulla.
Quindi quello che dobbiamo fare è che dobbiamo estendere i canalizzazioni in modo che la mia traccia alla mia corsia preferenziale sia
estesa, il che significa che anche il mio affidatario ha ragione, ma sta per ignorare il trasmettitore e la Croce Rossa e questo è quello che
stiamo facendo qui .
E il terzo è ancora una volta in lavorazione andare su goy a soffocare di più.
Quindi è solo lo stesso cavo che abbiamo avuto nel processo.
OK.
È stato spostato in questo processo.
OK.
Quindi è tutto qui sulla questione principale.
Stiamo semplicemente creando un'istanza e stiamo invocando il metodo delle scorte qui.
OK, permettimi di eseguirlo ancora una volta.
Quindi è lo stesso risultato.
Quindi la domanda dovrebbe essere la questione che dovremmo preferire Dovremmo andare al primo approccio o al secondo approccio
e il suggerimento è di andare al primo approccio o è quello che dovresti fare.
Il motivo è quindi qui evidenziamo il varchar che è una minaccia.
X-book Iran che è il loro compito.
Quindi queste sono due attività diverse.
Destra.
Li trovo un buon punto di vista del design orientato agli oggetti.
Se ci sono attività diverse, queste attività dovrebbero essere rappresentate da classi diverse.
OK.
Quindi sarà così che la coppia si alletterà.
E avrà i suoi benefici.
E questo è il motivo per cui dovresti optare per questo approccio.
E il secondo approccio.
Questo non è il caso.
Il dottore sarebbe stato a Dominga.
Quindi è strettamente accoppiato e non è un buon progetto per un punto di vista orientato agli oggetti.
E questo è ciò che è raccomandato per andare con il primo approccio.
Quindi se guardi Stack Overflow o ovunque vedrai che questo approccio è raccomandato.
Quindi questa è la seconda parte.
Ora andiamo avanti e vediamo come possiamo addormentarci.
Per questo abbiamo solo bisogno di invocare il metodo di sonno.
Quindi il metodo del sonno è un metodo statico e questo ci ha ingannato.
Quindi inseriamo qui la dichiarazione del sonno.
Ecco qui.
Ora il metodo sleep sta iniziando il terzo, ma genera e non chiama l'eccezione interrotta.
Lo guardiamo dopo.
Ma poiché si tratta di un'eccezione controllata, dobbiamo gestirla tramite una dichiarazione cricut.
È siddur e facciamolo.
Quindi qui è l'eccezione interrotta sarà discussa più tardi.
Ma questo è quello che stiamo facendo.
Quindi stiamo invocando il sonno e il terzo sul terzo sonno med accetta una lacrima ha un singolo parametro
che è sbagliato facendo questo.
Stiamo dicendo che stiamo dicendo che l'attuale minaccia che è il thread principale deve dormire per così tanti millisecondi
di 3000 millisecondi che non è altro che tre secondi.
OK.
Quindi, in questa affermazione, l'attuale thread interromperebbe la sua esecuzione che vede la sua esecuzione
per questi millisecondi di denaro per tremila millisecondi.
OK.
Quindi è quello che stiamo facendo.
Quindi andiamo avanti ed eseguiamolo.
Ora puoi vedere che il programma è ancora in esecuzione.
Ora è finito dopo tre secondi.
Quindi e questo è il secondo thread è in corso di completamento.
E dopo tre secondi anche la minaccia principale è andata a finire.
OK.
Quindi, in pratica, è quello che fa quella dichiarazione del sonno.
Il sonno in questione sì.
Ora la domanda sarebbe perché avresti bisogno di una simile affermazione.
Quindi un esempio che posso considerare come il webcrawler l'esempio che abbiamo discusso all'inizio del capitolo che
groaner è semplicemente un software che il motore di ricerca usa per fare tutto questo.
E il grande processo di scansione è che se si fornisce un collegamento particolare a un webcrawler rispetto a quello che fa è
che sta per scaricare la pagina corrispondente e quindi quella pagina ha un certo numero di link.
Quindi scaricherà tutti questi link su ciascuno di questi link.
È fondamentalmente una pagina e la pagina è anche ululata, quindi scaricherà anche tutti questi link e
il processo continua. Ecco come molti sanno se una determinata pagina ha un certo numero di
link su tutte queste cose auratus la maggior parte di loro punta a un sito
particolare.
OK.
Pagine diverse in un sito particolare.
Quindi il chiamante sta per scaricare tutte quelle pagine.
E il problema è che invierà una richiesta a tutti quei link.
E quel carico di polizia giudiziaria sul server web che ospita quelle pagine.
OK.
Quindi i rappresentanti sono ciò che può accettare solo così tante richieste in un dato momento.
Quindi dovresti essere tu non dovresti.
Preoccupati per Andy o.
Dovresti assicurarti di non colpirlo troppo.
Quindi quello che puoi fare è tra due richieste successive puoi inserire qualche ritardo.
Quindi se stai scaricando l'attività è fatta da una discussione, tra due richieste successive puoi inserire un
intervallo che puoi fare usando questo sonno.
Quindi diciamo se hai inviato una richiesta con noi o un record nella pagina dell'ordine e dopo averlo fatto
puoi aspettare un secondo di secondo è un buon ritardo.
Successivamente è possibile scaricare il secondo passo.
OK.
Questo è utile per inserire ritardi e un secondo esempio potrebbe essere quello di eseguire periodicamente alcuni lavori in
background sul server.
OK.
Quindi diciamo che hai fatto qualcosa, diciamo che hai inviato una e-mail alle 8:00 p. m. e poi lo faresti
dopo un'ora o giù di lì manderai un altro marketing umano.
Quindi se una minaccia lo sta facendo.
Quindi, una volta scambiati i messaggi di posta elettronica, è possibile attivare la sospensione per un'ora e quindi il
sonno si sveglierà e quindi invierà la successiva e-mail della campagna.
Quindi puoi farlo.
Ma in generale questo tipo di lavoro durante il lavoro può essere tolto in un modo molto migliore usando strutture
come la primavera.
Spring How ha alcuni sottocomponenti.
Uno di questi è Kwacha cordless o può essere usato per quello.
Quindi non dobbiamo farlo.
Ma se vuoi davvero farlo.
Quindi questo è il modo in cui puoi farlo.
Usa il metodo di sonno.
Quindi questa è la cosa.
Ora c'è anche un secondo modo per inserire il sonno
che è vestito da questa unità temporale.
E qui ha diversi modi di farlo.
Nada nada.
Lo svantaggio con il metodo di sonno qui è che è necessario l'unità di tempo dell'unità di tempo come millisecondi.
Quindi se vuoi aspettare diciamo un'ora, allora devi convertirlo in millisecondi e Bassett come
argomento che non è molto conveniente.
Ecco perché in Java 5 hanno introdotto questa unità Inam class L'unità di tempo in ferro ha diverse unità di
nove.
Ecco i nostri micro-secondi contro e.
La nostra seconda storia, il secondo Solex, è qui in secondo piano e in realtà ne ha messi tre quando
su Supernaut non dorme.
Ok questo è un thread e non il thread principale è in attesa che siano trascorsi tre secondi.
Quindi questo è un altro modo per farlo un modo leggermente più conveniente e leggibile per farlo.
Quindi questa è l'unità del tempo.
È un nome qualsiasi
Questo è tutto.
E un'altra cosa.
Quindi abbiamo esaminato i due approcci che stiamo lanciando e che sottostanno al metodo sleep.
E un'ultima cosa è.
Quindi diciamo che questa discussione è finita.
Quindi è il marito non-materia completamente esecrato.
Quindi la domanda è: possiamo ricominciare il thread dicendo semplicemente che il nostro stock DOT e
che non è possibile perché una volta che il trasmettitore ha terminato la sua esecuzione, va in una data ufficiale del tribunale.
Quindi a quel punto questa istanza di minaccia sarà ancora in attesa.
Ma è solo un oggetto inutile come qualsiasi oggetto normale.
Quindi così ora è nello stato.
Quindi, anche se stai provando a farlo, genererà un'eccezione.
Quindi, facciamolo così
come puoi vedere dice illegale per eccezione di stato.
Quindi non puoi mai farlo.
Quindi, una volta che il thread termina la sua esecuzione, sua nonna è stata eseguita completamente.
Quindi entra in quello stato.
OK.
Quindi è il nuovo stato e quindi lo stato e quindi hai anche ragionevole Ronnie e lo stato del blob.
Quindi questo è tutto nella prossima lezione.
Vedremo anche qualcun altro in classe.
OK.
Puoi trovare questo preventivo nella sezione risorse e questo è tutto.
Grazie.
E felice corteggiamento.