Ciao, questa è la stanza di Plutone.
E bentornato.
Direi che non hai finito, ma una parte della
concordanza ogni capitolo e nella restante parte del capitolo esplora vividamente la cooperazione sulla gestione.
Queste sono un paio di preoccupazioni che affrontiamo finora.
Per affrontare le condizioni di gara, quello di cui avevamo bisogno era una città di Thomas che sia una minaccia che deve eseguire
atomicamente alcune operazioni.
L'abbiamo visto, ma le variabili di sincronizzazione e Accomack hanno contribuito a questo e per quanto riguarda la visibilità della memoria
in generale la sincronizzazione non sono variabili atomiche.
Potremmo usarne uno per dire dov'era e ha avuto un paio di nuovi requisiti che devono ancora essere affrontati.
Il primo è la cooperazione diretta con la sincronizzazione.
Abbiamo visto una forma di cooperazione che è stata una volta all'interno di una regione sincronizzata.
Quindi altre minacce devono attendere e non possono immettere né la stessa né un'altra regione sincronizzata
protetta dalla stessa logica.
Quindi la competizione dice che non interferisce l'uno con l'altro.
Tuttavia in alcuni scenari abbiamo bisogno di più di questa semplice cooperazione.
Ad esempio, se una minaccia si trova in una regione sincronizzata, potrebbe non essere in grado di eseguire la
sua attività a meno che altre minacce costituiscano altre attività pertinenti.
Venerdì il Fuster di Hofstra ha portato l'altro critico a casa prima che il Fastrak possa continuare.
Non che lui o Fuster debbano sapere se l'altra minaccia ha eseguito o meno la pertinente.
Destra.
E questa informazione viene catturata attraverso uno stato condiviso dello stato condiviso che soddisfa certi criteri che non sono altro
che una condizione.
Solo allora la prima minaccia continuerà le sue azioni.
Quindi questa è anche una condizione a bordo.
Ma per favore torna qui.
A breve vedremo un esempio di questo.
Quindi quello che vedremo in seguito è una reale interazione tra i ricchi e per questo guardiamo a
tre approcci.
Il primo è qualcosa a cui mi riferirebbe come in un approccio che si baserebbe su ciò che già possiede.
Il secondo approccio è aspettare non se mi avvicino a Vitt usando questo metodo. Si chiama esca o ti notifica di interagire.
E l'ultimo approccio implicherebbe alcune utilità di concorrenza che sono state introdotte in Jollof
attualmente.
L'approccio migliore per la cooperazione e il secondo requisito riguarda la gestione, che è importante quando si tratta di sistemi
di competenze molto numerosi, in cui si verificano numerosi e numerosi thread in concomitanza con
tali scenari.
Abbiamo bisogno di avere una buona traccia di creazione di una struttura di gestione che stia creando trincee, così come
abbiamo visto finora non sarà di grande aiuto dal punto di vista pratico.
Non solo buono per le piccole applicazioni.
La concorrenza o le entità fornite con Java 5 includono qualcosa chiamato quadro esecutivo che potrebbe
aiutare in questo.
Più avanti considereremo questo come un buon framework e noterete quanto sia facile usare quel framework per
non comprendere la cooperazione e la gestione.
Utilizzeranno il processo di indicizzazione delle pagine come esempio per cui l'indicizzazione delle pagine è un processo che viene
eseguito dai motori di ricerca come l'indicizzazione di Google è un processo molto complesso.
Il primo passo sarebbe un buon download delle pagine web.
E questo è fatto da un più ampio.
Abbiamo tutti bisogno di discutere un po 'di ciò che ti viene dato o di una pagina
di lavoro di webcrawler per prima cosa scaricare quella pagina web e semplicemente scaricare tutte le pagine che sono per quella particolare pagina.
E questo processo continua anche con le pagine web scaricate.
Quelle sono le pagine scaricate.
Avremo anche così tante cose e abbiamo bisogno di scaricare tutte quelle pagine Web una volta scaricate le
pagine che devono essere indicizzate per i motori di ricerca.
C'è qualcosa chiamato indice invertito che è una struttura dati che ci permette di cercare
quei documenti in modo molto efficiente.
Quindi, se è necessario per la ricerca degli aspetti, quale indice è ciò che si sta costruendo nel campo del recupero delle
informazioni è interamente relativo alla scansione di REPP nel processo di indicizzazione.
È un campo molto interessante.
Quindi le dimostrazioni che faremo simuleranno questo processo e ogni giorno incorpora una nuova funzione
su cui ci basiamo e tipicamente improvvisiamo sulla funzione precedente, che non era così sarà davvero buona e
spero che vi piaccia l'approccio adottato qui.
E questo è ciò che avremmo nella nostra democrazia, forse avremmo un indicizzatore di
download di tre classi e rebeling un'istanza di Blink rappresenta un utente su un'altra pagina e questo oggetto è condiviso tra
downloader, un indice e oggetti che non sono altro che trappole.
Quindi, per ogni battito di ciglia, stiamo fondamentalmente creando il downloader senza stiramento e condividiamo lo stesso oggetto
del riflesso.
Non sono a conoscenza del fatto che una minaccia sia responsabile del download della pagina a cui fa riferimento
l'uplink. Una minaccia dell'indice è responsabile dell'indicizzazione di ciascuna di esse.
Quindi non ci sarà alcuna operazione in quanto l'indicizzatore dovrebbe essere in grado di indicizzare solo dopo che il downloader
può scaricare una pagina anche se il thread dell'indicizzatore è pronto per l'indicizzazione sul downloader non ha ancora scaricato una
pagina, quindi l'indicizzatore deve in qualche modo aspettare fino a quando il caricatore di alba non completa il download
della pagina web.
Quindi la condizione qui per l'indicizzazione di procedere sarebbe la disponibilità o scaricato sulla pagina che domani Gram's
ci coinvolge anche più di una sera.
E per ciascuno di uplink creeremmo due tracce quindi in qualsiasi dato momento dato il numero di
minacce che la prenotazione può ottenere in nessuna parte andiamo avanti e facciamo la nostra prima demo e vedremo il
nuovo approccio che ho menzionato
in precedenza, la società Oka per questo o Ho creato un nuovo pacchetto chiamato indicizzatore punto puntino semantics punto quadrato puntatore.
Quindi è creato in virgola semantica quadrata o competenza e all'interno di questo un indicizzatore del pacchetto.
Ho creato una nuova classe chiamata nyou index.
OK.
Quindi la fine di ciò che è stato fatto.
Quindi vedremo questo tribunale e non scriveremo alcun nuovo codice in
questa classe perché qui c'è molto codice e in seguito Il più scriveremo del codice.
Quindi questo indicizzatore di glossario.
Ha tre uffici distrettuali uno di loro è un collegamento.
Questo è un bubbling e le altre due classi sono indicizzatore e downloader.
Ne abbiamo già discusso nella conferenza così.
E la lezione di chiacchiere abbiamo queste carte d'identità.
Sei malato e ospite e anche il DMA basato su una pagina.
In modo che sarà memorizzato in questa pagina di Steimle di carte a pagamento e stiamo usando variabile volatile qui.
OK, quindi è un modificatore di blocco e abbiamo bisogno di questo perché abbiamo due diversi thread che stanno cercando
di interagire tra loro e hanno bisogno di vedere il valore di questa variabile.
Ok, questa è una variabile condivisa e, a parte questo, abbiamo solo alcuni getter e setter qui.
E questa è la loro classe di downloader e implementa eseguibile Quindi abbiamo detto che il downloader
e l'indicizzatore condividono lo stesso oggetto Webling.
Quindi abbiamo il costruttore qui dove il balbettio viene inizializzato.
Ed ecco un metodo di esecuzione perché stiamo implementando eseguibile.
E allo stesso modo abbiamo l'indicizzatore.
Quindi, proprio come in questo caso, anche qui è stato inizializzato il costruttore e l'oggetto Blinkx.
E lo abbiamo anche sul mio qui.
Quindi quelle sono le tre classi e la classe indexer che ha tre metodi.
Creo uno spazio vuoto
E anche il metodo principale.
Quindi nel metodo principale stiamo istanziando il mixer Nirman e qui stiamo creando delle ramblings.
OK, in modo da creare bolle spumeggianti, Metford è il principale responsabile della creazione del passaggio NBA.
Tutti i WC necessari.
Quindi stiamo passando quattro link diversi qui link a pagine e stiamo passando tutte le informazioni necessarie e tutte
queste cose per i messaggi verranno salvate qui verranno memorizzate in una struttura dati.
E per questo abbiamo creato questo aumentato.
Quindi è qui che ha una struttura che stiamo usando è un addendum qui.
Quindi in cima stiamo creando un mazzo automatico e memorizzeremo tutti gli oggetti vaganti.
OK, così via, stiamo nominando Q: sono tutti aggiunti in coda usando il metodo OK.
E finalmente stiamo invocando la questione, andiamo qui.
Ed ecco il metodo andare su quel terzo andare.
Praticamente itera su Q che ha le quattro lunghezze e in ogni iterazione è.
Sta estraendo lo spazio in bianco OK da catturato dal fumo che importava sul cubo e sta creando due
tracce.
OK.
Non c'è un dottore in linea tranne la lettura e sta passando.
Non stai passando da un battito di ciglia e si sta anche creando un'istanza, ma non ordinare un indicizzatore.
OK, quindi quelli sono il passato e quei punti sono inizializzati bit l'oggetto che bolle e quindi stiamo iniziando
il prossimo.
Ora andiamo avanti e guardiamo queste tracce.
OK, ecco il metodo di esecuzione.
Non conosco la classe qui.
Fondamentalmente stiamo scaricando la pagina web.
Quindi siamo a Woking per farti uscire da un metodo e stiamo scaricando per il download.
Quindi abbiamo questa meccanica di storia di auto di utilità in fondo alla strada e che in realtà non conoscono la
pagina web.
OK.
Quindi questo sarà anche fornito e la sezione delle risorse e puoi dare un'occhiata a questo.
E così otterrà l'Hachem al-Bashir e un bicchiere gorgogliante ha il seggiolone m. p. h. variabile anche sul
record del bambino invocando il secondo metodo per quello.
Quindi se lo invochiamo avremo il secondo metodo.
Questo è quello che stiamo facendo qui e non solo che tutte le classi annidate dell'albero sono classi membro statiche.
Quindi non stiamo usando classi membro non statiche perché le classi membro non statiche faranno riferimento alla classe che include
che è un indicizzatore e non abbiamo bisogno di questo perché non abbiamo bisogno di accedere a nessuno
dei suoi membri membri di istanze di membri.
Quindi vedremo che negli studi olandesi sul perché stiamo usando classi nidificate statiche.
Quindi quella ricerca.
Quindi stabiliremo la base qui e nell'indicizzatore abbiamo quello senza limiti.
Ora entrambe le tracce devono comunicare.
Giusto perché il thread dell'indicizzatore non deve indicizzare il loro documento prima che il download avvenga.
Ha bisogno della pagina Web scaricata per nix del documento e per l'indice abbiamo usato questo metodo
chiamato index.
È definito all'interno della classe indexer e tutto ciò che fa è che il testo dice semplicemente che quel particolare
testo è stato indicizzato.
Ok, quindi sta solo stampando l'ID.
Quindi non stiamo andando, non stiamo facendo nulla di speciale qui per quanto riguarda l'indicizzazione
qui.
Quindi questo thread di discussione è fondamentalmente funzionante, così come il download della vecchia pagina di Hatcham, ma se la pagina non
è uguale, non solo avrà bisogno di essere indicizzata.
OK, ma se è uguale a none allora non dovremmo indicizzare questo particolare thread il thread
dell'indicizzatore deve aspettare che la minaccia del downloader completi il download della pagina Web e per questo motivo
abbiamo questo ciclo finito qui.
Quindi, se e se la pagina è uguale a null, andiamo nella pendenza e vediamo solo che la pagina
NON viene scaricata.
Quindi tra le due tracce e estratto è iniziato 400 sta correndo attraverso lo stretto è in esecuzione.
Quindi è un avvio in esecuzione prima che il downloader non conosca il thread e quindi stiamo entrando in questo
ciclo su pagine hastier uguali a un altro.
E quindi stiamo andando in questa condizione qui e poi stiamo iterando fino al Treacher Buehler cosa dovresti
avere l'altro thread.
Non conoscete il thread e Vinoba le altre terze note di una pagina, quindi sapete che in una durata di un giorno diverso l'emulazione
di Hetchy sarebbe uguale a no.
Ora non si sa e questo mi porta accanto alla pagina e non lo sappiamo.
Detto questo, permettimi di andare avanti e lanciarlo in modo che tu possa vedere che non è stato scaricato, non è il tuo ordine,
quindi funziona semplicemente qualunque cosa.
Ora è fatto.
Quindi qui l'ID che documenta la pagina Web con ID 2000 è stato indicizzato ed è ancora una volta in
stampa 2002 Non lo sai.
E poi, una volta scaricato, lo stiamo indicizzando.
Il prossimo Internet lo sta indicizzando e altre minacce potrebbero essere state sicuramente le migliori in alto.
OK.
Quindi non possiamo raggiungerli qui.
Ecco come funziona.
Quindi è così che stiamo cooperando che stanno incorporando.
OK.
Così fa il secondo terzo indicizzatore che sta valutando usando un ciclo while qui in uno o due.
Ed ecco come alcune note un po 'qui.
Quindi qui colpisce G. M. B. H. è dichiarato come piastrella volatile e vuoto
e se ci sono spazi vuoti questo approccio sta creando il doppio del numero.
È giusto perché per ogni repubblica stiamo creando due thread ma la limitazione qui
è che il sito CPO diventa un indicizzatore steward come se fosse in attesa del download degli upbeats.
Quindi, come sta aspettando, abbiamo questo ciclo finito in corso.
Quindi quello sarebbe psico sugli studi olandesi e da Bikaner fa un buon indicizzatore.
E questo è ciò che cercheremo di migliorare per migliorare le demo successive della prossima demo, ovvero
l'utilizzo dell'approccio esca e notifica che migliora effettivamente questo approccio e lo vedremo.
Quindi questo è tutto.
E questa carta è disponibile nella sezione risorse.
Grazie e arrivederci alla prossima lezione.