Salve, questo è che non vogliono fare nell'ultima lezione che abbiamo visto nell'indice un programma con la traccia
di indicizzazione stava sprecando cicli di Sebille.
Bene, la pagina web corrispondente era in fase di download.
E non va bene.
Quindi in questa conferenza vedremo come ciò può essere premiato.
OK.
Come possiamo evitare di sprecare cicli di sonno.
Così per un po 'ho creato questa nuova classe chiamata questo grande indicizzatore di notificatori nello stesso indexer del pacchetto
e si chiama Lexar non definito e abbiamo le stesse classi delle classi diagnostiche del downloader e
dell'indicizzatore in uplink.
E avremo quelle classi nidificate in tutto questo.
Quindi le classi sono praticamente identiche all'indicizzatore e al collegamento Witan.
Quindi uno cambia che la pagina di Hetchy prima era volatile.
Ora non è tutto il tempo e non ne abbiamo bisogno perché un po 'di un X-URL non definito usiamo due metodi
chiamati noi vate non sono definiti e come ciò accade.
Succede prima della relazione.
E quindi non abbiamo bisogno di uno per dirti che siamo qui.
Quindi è quello che vorrei modificare che è stato rimosso.
Quindi ecco il nuovo ordine.
E abbiamo solo bisogno di compilare questo metodo di esecuzione qui e all'interno dell'indicizzatore.
Inoltre abbiamo bisogno di compilare il metodo run su tutto, poiché sembra il metodo go e creare delle divagazioni sulla differenza,
poiché nel metodo principale non stiamo istanziando il rate non definito XOR, stiamo ancora
creando gli stessi rumble.
OK, quindi stiamo passando le stesse informazioni e anche il metodo go è lo stesso.
Quindi stiamo creando Butros corrispondente al nostro downloader sull'indicizzatore e li stiamo iniziando qui e stiamo iterando
su tutti gli spazi vuoti.
Quindi la prima cosa è andare avanti e riempire il prossimo e qui.
Quindi qui andiamo qui accanto a questo è l'indice della materia nell'indice del programma.
Quindi, la prima cosa che possiamo fare è andare avanti e copiare questo in modo
che stiamo scaricando l'intoppo G. M. B. H. su di esso è messo un po 'di condizioni qui.
Spiegherò perché abbiamo bisogno di una condizione qui.
OK, quindi abbiamo questa condizione, quindi la condizione è che le pagine simili fossero un cardinale.
Quindi questa è la chiave è la scheda deve aspettare.
Quindi questo indicizzatore di thread.
Significa che la pagina non è ancora stata scaricata.
Quindi prima avevamo un ciclo infinito.
Ora abbiamo lo stesso grande tasso di ferro è una questione e l'oggetto.
Stati Uniti, quindi non lo è.
E questa minaccia ma è una classe Object.
E ciò che farà sarà sospendere il terzo che l'indicizzatore ha provato e sarà più che provato a far funzionare
lo stato in un nuovo stato.
Il voto delle carte non può quindi essere un nuovo stato che non abbiamo visto finora più tardi se questa vittoria
avrebbe anche discusso di più a riguardo.
Quindi entrerà in questa valutazione attuale.
Quindi questa discussione sarà sospesa.
Ora c'è un obbligo qui circondato da Gottsch.
Quindi facciamolo.
OK.
Quindi è ciò che è necessario.
E così questo è ciò che facciamo qui.
Quindi, questo significa che questo thread sta aspettando l'altra minaccia.
Quindi andiamo avanti e riempiamo questo metodo al suo interno, non guardiamo alla classe.
Ancora una volta torniamo qui al nome in Indexer, altri passiamo a copiare questi due TUO E questo è il
modo in cui quelle stesse affermazioni sono state messe qui.
Dobbiamo anche piangere, quindi facciamolo e passiamo a questo.
Quindi facciamolo.
E così.
Quindi questa traccia è lì e questo thread deve.
Quindi, una volta che è stato scaricato, si dovrebbe avvisare l'altro terzo.
Quindi l'altro thread si è sospeso e poi li ha letto.
Quindi abbiamo bisogno di spezzare quel thread quel thread perché è andato in uno stato di attesa
e per poterlo configurare usiamo questo metodo
chiamato ask notify notify che è l'altro thread.
Ora qui andiamo avanti e invochiamo
anche il metodo index.
Quindi se sei fuori dal ciclo while significa che questa condizione è fallita e il coniglio è
stato scaricato.
Quindi andiamo avanti.
E questa è una pagina DMA, ma dovremmo qui dire quale squadra sarà uguale a questa perché una volta che è tornata dalla fase
di attesa dello stato in attesa, deve ancora una volta recuperare la pagina in modo che la
pagina sia già stata scaricato.
Quindi stiamo cercando di ottenere il ph HDMI.
E così nella prossima iterazione la mia pagina sarà non saprà quale non sarebbe sapere.
Quindi dovremmo uscire dal ciclo e noi ciò che questa affermazione sarebbe stata eseguita proprio da esso.
Quindi andiamo avanti ed eseguiamolo prima, come potete vedere, otteniamo questa eccezione di stato di monitoraggio illegale della scheda delle eccezioni
sui dati, perché abbiamo bisogno di avere un blocco sincronizzato quando lo usiamo quando usiamo questo
metodo.
Quindi abbiamo bisogno di un blocco sincronizzato.
E il motivo per cui abbiamo bisogno di un blocco sincronizzato è perché supponiamo che il gioielliere toccatore abbia scelto la pista
degli indicizzatori per correre sotto il prossimo thread verrà qui.
Sarà AXS questo metodo ottenere m. p. h. Hetchy MLP a più pagine inizialmente sarebbe nullo.
Quindi questa dichiarazione verrebbe eseguita.
Ma prima di uscire la grande affermazione.
Sai che il Treacher Mueller potrebbe eseguire l'altro thread game potrebbe portare l'altro turd nello stato di
esecuzione anche se non caricare il thread sotto il thread Donora può scaricarli una pagina.
Ben detto il Hetchy della mia pagina e può camminare il metodo di notifica.
OK e dopo che il metodo di notifica è presente nel libro, questo thread potrebbe essere un metodo
sottovalutato che passa allo stato di votazione.
Quindi in quel caso potrebbe sempre essere in rating perché questa volta particolare alla dichiarazione è già
stata eseguita.
OK, quindi non è giusto.
Quindi abbiamo bisogno di un blocco sincronizzato che significa che questi passaggi devono essere eseguiti devono essere eseguiti atomicamente
nel modo giusto.
Ecco perché abbiamo bisogno di una dichiarazione sincronizzata qui.
E l'oggetto qui possiamo usare gli smolders
del collirio.
Ho chiamato Do il blocco sincronizzato Beh, indovina cosa stiamo facendo qui.
Quindi ora una cosa come abbiamo il blocco sincronizzato.
Quindi se i prossimi artisti artisti qui e se si sa una volta che entra in questo vile qui in modo
che stia per uscire la tua dichiarazione di dibattito e dichiarazione di dibattito.
Abbiamo detto che sospenderà questa discussione subendo una mossa che metterà Mulder in quella sorta di minaccia che integra lo
stato.
Ma allo stesso tempo avrebbe anche rilasciato il blocco che ha.
OK quindi non so se il blocco è il blocco di questo particolare oggetto weblink.
Quindi deve essere rilasciato.
OK.
E quando viene rilasciato, deve essere acquisito dall'altro thread, il che
significa che
anche qui avremo un blocco sincronizzato e spostiamolo qui, facciamo questo e useremo lo stesso lock.
E qui abbiamo bisogno di invocare eye not dot not perché il metodo notify e il metodo wait sono in realtà
parte dell'oggetto per noi.
OK.
Quindi tienilo a mente.
Aspettare.
Non essere licenziato.
Questa è un'altra chiamata al metodo notificare tutto ciò che possiamo anche usare qui e iniziare notificare che tutti e
tre appartengono alla classe dell'oggetto non vengono provati dal loro oggetto lo scorso fine settimana.
Dobbiamo guardare a questo noi.
Quindi ora stiamo bene.
Quindi qui il thread sta entrando nel settore immobiliare e di cui ho bisogno sta rilasciando anche il blocco in modo che
quando rilascia il blocco, l'altro thread acquisirà il blocco qui.
Non conoscono quella minaccia senza pari sulla nota di una pagina sotto la siepe.
Sei la mia cagna dopo che funzionerà.
Il metodo I sulla nota se metodo in grande gli altri due.
Quegli indicizzatori leggevano in modo che l'inesorabile passaggio dalla valutazione ai blocchi lo facesse.
OK, quindi non sta entrando nello stato Runnable per metterlo in stato Runnable per l'indice o
provare ad ottenere uno stato.
Ha bisogno di acquisire il blocco sul blocco non ancora rilasciato in questa istanza.
Locke è in realtà rilasciato qui.
OK Locke viene rilasciato una volta che siamo fuori dal blocco sincronizzato qui a questo punto.
Siamo ancora nel blocco sincronizzato.
E così il blocco non è ancora stato rilasciato.
Tutto fa come si muove l'altro terzo il terzo cooperante che è la minaccia degli indicizzatori.
Sposta quella particolare minaccia dalla fase di attesa direttamente in blocchi.
E una volta che siamo fuori da questo blocco o se lo faremo e il metodo del tasso di mortalità qui, allora
il blocco verrà rilasciato.
Ma non sono io che arrivi qui.
Quindi usciremo dal metodo sincronizzato e otterremo il blocco finito.
In altre parole, monitora.
A volte è anche il monitor di Koala a essere rilasciato da questa particolare minaccia e
verrà quindi acquisito dall'altro.
Ora se ci sono più thread che stanno aspettando su questo particolare sono in attesa su
questo particolare link o oggetto quindi induct è OK.
Quindi, ciò significa che sono state eseguite più minacce in attesa.
Quindi sarà ancora un singolo thread e verrà scelto arbitrariamente.
OK, questa è una cosa.
E poiché esiste anche un'altra rete chiamata notify all che generalmente è preferibile essere utilizzata per
notificare a tutti in realtà risveglierà tutte le minacce che sono in attesa su questo particolare medico e che come
un ottimo metodo esecutivo su questo oggetto sullo stesso oggetto.
OK così la volontà solo solo perché una delle minacce che sta scrivendo.
OK.
Se ci sono più minacce ma non tutte le minacce di Belbek possono essere utilizzate
entrambe, è preferibile utilizzare per notificare tutta la custodia che stiamo usando notificare perché solo un terzo è in attesa.
Ma in futuro se ci saranno altre minacce che attenderanno
il coinvolgimento del raid su questo particolare oggetto, notificarlo sarà utile.
OK, quindi possiamo farlo anche
Quindi può essere notificare o notificare tutto.
E questo porterebbe la minaccia a rompere lo stato.
L'altra minaccia dallo stato di attesa allo stato bloccato e una volta che ne esce uno in modo che, una volta uscito il
blocco sincronizzato, questo thread rilasci il blocco sull'altro thread che si trova nello stato bloccato, quindi
acquisisce il blocco e quindi esegue un post.
OK.
Ma se ci sono altre minacce che stanno anche aspettando questo particolare oggetto che non ha
invocato Great significava, ma Princeton per qualsiasi motivo funzionasse su questo particolare oggetto forse
ci sono altri metodi sincronizzati su questo oggetto.
E se ci stanno aspettando, potrebbero anche farti sapere che al posto di questi gli indicizzatori minacciano
che anche altre minacce potrebbero richiedere il blocco.
OK.
Quindi tienilo a mente.
Quindi questo è quello che abbiamo qui.
E mettiamo un sacco di dichiarazioni di stampa.
Nessuna altra cosa che voglio a Dallas, come l'enorme importanza qui sta rilasciando il lucchetto qui, ma
abbiamo usato come gli altri metodi come il metodo di sonno o ci hai mentorato così quelle chiamate al metodo delle porte
sospenderanno anche la minaccia ma non rilasceranno il blocco .
OK, questa è una differenza tra la frequenza e altri metodi come il sonno Anyi.
Quindi continua così.
Tienilo a mente.
E sì, mettiamo
un sacco di dichiarazioni aperte qui e questo non è un non leggerlo.
Quindi dovrebbe essere buono.
Andiamo avanti, ironizziamola e abbiamo qualche problema con
Internet.
Lasciami correre ancora una volta.
Ecco qui.
Penso che una delle cose stia avendo qualche problema, ma almeno gli altri sono stati scaricati.
Quindi fammi semplicemente fermarlo lì.
Quindi qui stiamo dicendo.
Quindi questo questo sono le tre pagine.
OK.
E qui dice che non è stato scaricato.
Quindi eravamo nel thread inesperto e non dice che qui lo scarichi e poi scarica il download o le tartarughe
lo stanno eseguendo.
E poi l'indicizzatore terzo, ancora una volta, non è giusto nemmeno perché è
solo che non sai che sono qui.
Il problema con l'idea 2004 è che possono sentirlo funzionare a grandi condizioni.
Poi è stato scaricato correttamente, lo ha scaricato pronto per raggiungere la data.
E l'altro thread che il thread ha scaricato e poi ha invocato il metodo di notifica.
Quindi questo ha avuto un fine settimana e dopo che è passato può essere anche indicizzato.
OK.
Quindi è così.
In realtà ho fermato il programma e riverine perché penso che alcuni link non siano
stati scaricati correttamente.
Forse alcuni problemi con il web server su questo.
E quindi immagino che potremmo vedere il pavimento qui.
Quindi è importante.
Quindi, come puoi vedere ora, non stiamo sprecando alcuni cicli qui.
L'indicizzatore è Gore che si sta sospendendo.
Quindi con quello che stiamo salvando si vomitano cicli di spew.
Quindi questo è un miglioramento rispetto all'approccio precedente e un approccio indicizzatore.
Ora una cosa è questa è l'idioma standard.
OK.
Quindi questo è l'idioma standard.
Quindi discutere Materne dovrebbe sempre essere usato con questo tipo di condizione selvaggia, non con una condizione F ma un po
'e questo è l'idioma standard.
Questo perché, a volte, succede che c'è anche qualcosa chiamato "curioso" come Vicot Spookiest map up, nel qual
caso tutto ciò che può essere letto può effettivamente passare dallo stato più grande allo stato bloccato.
Quindi si può rompere anche se non c'è stato come non chiamare nessun segnale dall'altra azienda.
E ciò può accadere raramente.
Quindi, se ciò accadesse, ciò che accadrebbe sarebbe che la pagina principale di Steimle sarebbe ancora nulla e vieni
a sapere che questa minaccia si sta svegliando e per questo motivo.
Quindi non è un buono stato.
Quindi dovremmo sempre avere questo e questo mentre le condizioni qui.
Quindi questo è l'idioma standard.
E un altro motivo potrebbe essere un altro motivo può anche essere che il terzo aziendale in Woolston o metodo
definito.
Quindi questo si sveglierà.
Ma questo thread potrebbe non ottenere il blocco su qualche altro thread potrebbe acquisire il blocco che potrebbe servire a Hetchy
una pagina multipla non ancora una volta.
Quindi, voglio dire che non ha senso in questo particolare esempio, ma in alcuni altri esempi in cui noi
vediamo come uno stato condiviso su cui queste minacce stanno lavorando su Sadak stert condiviso può essere cambiato da qualche altra minaccia.
OK.
Ecco perché è sempre importante avere questo dibattito con Mathare insieme ad alcune condizioni e questa condizione dovrebbe essere
all'interno della Casa Bianca che dovremmo usare.
Perché è inteso in questo modo.
OK.
Ecco perché abbiamo bisogno di una dichiarazione while qui e questo è l'idioma standard.
Quindi questo è anche spiegato efficace articolo Jawa uno degli effetti degli articoli.
E ora ho del testo anche qui, proprio come il precedente esempio precedente.
Quindi stiamo migliorando il coordinamento ora.
OK.
E l'orologio viene abbandonato invocando il metodo del dibattito e l'unica differenza è che la pagina di Hatchie non
è ancora stata dichiarata non dichiarata e vuota.
E questo perché c'è uno sblocco sai che non sta succedendo e non so come farlo.
Destra.
Una volta che esce il metodo sincronizzato qui lo sblocca mentre sta schiacciando il lucchetto.
E dopo che l'altro thread del thread dell'indicizzatore è come guidare il blocco, si verifica un caso prima della
relazione tra queste due azioni.
OK, qui stiamo sbloccando e ci stiamo bloccando perché se ciò accade prima della
relazione, abbiamo anche la visibilità di Amadi.
Quindi non abbiamo bisogno di dirlo davvero.
OK, ecco cosa viene scritto qui.
Quindi salirà, ma la limitazione qui è che stiamo risolvendo una cooperazione di compiti in modo di basso livello.
E così, poiché stiamo usando tutti quei blog sincronizzati, stiamo usando i loop Y.
Quindi è piuttosto basso livello e Jollof vedrò come alcune utilità di concorrenza che renderanno
l'intero processo molto più pulito.
OK.
Quindi questo approccio era appena prima del 5 luglio e quindi dopo il mese di luglio 0 5 dato che ci aiuta dal momento che
abbiamo le utilità di concorrenza che dovresti usare.
OK.
Solo tu guardi questo tipo di codice solo se stai guardando un codice legacy.
OK, questo è tutto.
Quindi torniamo alle diapositive.
Diamo un'occhiata alle diapositive.
E in questa diapositiva saremmo effettivamente in grado di guardare lo stadio della minaccia perché ci sono due nuovi stage
che uno fuori dal palco sta tornando e c'è anche un altro stato e lo vedremo in questa luce
e potremo discutere un po 'di più circa il terzo stadio.
OK.
Quindi andiamo avanti e guardiamo a ciò.
Puoi ricordare questa illustrazione dei diversi stati in cui può essere inserito un terzo.
Quindi ora presenterai un paio di stati.
Abbiamo già visto uno di loro che le valutazioni si sono comportate così nel funzionamento del rate rate, un terzo si sarebbe spostato
dallo stato di esecuzione a valutazioni positive.
Destra.
Quindi ridiscussa doc e Vinnick cooperando nel commercio di libri o notifica o notifica a tutti sulla serratura comune.
Quindi tutte le minacce in attesa su quel blocco farebbero di più e farebbero Broxton.
Destra.
Discutiamo anche di ciò in modo che passino dallo stato di attesa allo stato di blocco.
Alla fine il terzo che acquisisce il lucchetto ci sta effettivamente muovendo attorno ad esso.
Quindi, dallo stato Brading, non stiamo direttamente entrando in uno stato eseguibile.
Ora c'è anche un tempo per lavorare con il metodo break.
Abbiamo solo guardato il riemesso Ma c'è anche una piccola porzione e nel rooking di questo metodo
quella traccia andrebbe in un altro stato chiamato Find a no score.
Nota che lavorando nel tipo di join o anche nel sonno significava che ci sarebbe stato più thread in questo.
Ho fatto quelle valutazioni.
Sul parametro long matter qui sarebbe il tempo in millisecondi.
Quindi abbiamo questa fase di Donyell e quando un thread cooperante invoca o notifica o notifica tutto,
allora qualsiasi thread che è in BIND sottolineato ha atteso che l'invocazione di raid sarebbe stata spostata
nello stato bloccato.
Tenete a mente che stiamo parlando solo di un terzo che è entrato nello stato per fare il
commercio del tempo non è né Snin agin.
Ma se ciò accade, qualsiasi thread in time sottolineato lo stato di attesa verrebbe spostato direttamente
nello stato runnable.
Non importa se questo è andato in legatura sottolineato lettura in attesa di leggere o gioia
nel nostro sonno.
Quindi quelle sono minacce diverse.
Non è solo che gli stati nuovi e morti non sono mostrati qui.
È riferito più formalmente a quanti dirts hanno bisogno di così tanti libri che si riferiscono ad esso come lo stato di Terminator che è uno
stato in cui un terzo entra.
Una volta che è corso fino al completamento.
Quindi questo è tutto.
Questa è competizione diretta al di là della grande comunicazione non modificata utilizzando grandi o no.
Se fossi stato calmo, prima di Jollof ho introdotto utilità di concorrenza di alto livello che discuteremo
molto presto.
Come accennato in precedenza, probabilmente gestirai una notifica più grande solo quando si tratta di una presenza notificata di
lettori di codice legacy, ma durante l'handshake di basso livello.
Come abbiamo visto e Joshua Bloch si riferisce a usarli come linguaggio di programmazione e concurrency assembly.
Quindi questo è tutto.
Sul campo che abbiamo visto in precedenza è disponibile anche nella sezione fonte e questo è tutto.
Grazie.