|
|
Prodotto ESAURITO/FUORI CATALOGO
Java restaurant Introduzione alla programmazione concorrente in Java
|
| Editore | Apogeo |
| Autore | Tisato |
| Pagine | 198 |
| Volumi | 1 |
| Supporto digitale | 1 Floppy |
| Livello | Intermedio |
| Lingua | italiano |
| Data pubblicazione | 07 - 1997 |
| ISBN | 8873033504 |
|
|
| Prezzo di copertina |
| Euro 14,46 |
|
Sommario
Introduzione X
Gualtiero von Neumann, informatico e chef X
Capitolo 1: La cucina di Gualtiero von Neumann 1
Ingredienti e recipienti 1
Classi e istanze 2
La classe Ingrediente 2
La classe Utensile 3
La classe Tagliere 4
La classe Recipiente 4
La classe Ciotola 6
La classe Tegame 7
La classe TegameStupido 8
Piatti e ricette 8
La classe Piatto 10
La classe Frittata 10
Algoritmi sequenziali 11
Il Principale 12
La classe GN01 e il metodo main 12
Il programma principale 13
Cronaca di un fallimento 14
La frittata bruciata 14
Il problema della temporizzazione 16
Esercizi 17
Capitolo 2: Le tre frittate 19
La scoperta del timer 19
La classe Timer 20
La classe TegameATempo 21
La frittata temporizzata 22
I tegami anarchici 23
La classe AzioneEsterna 24
La classe TegameAnarchico 25
La frittata giusta 26
Interazioni con l'ambiente 27
Operazioni di I/O a controllo di programma e sospensive 28
Pasta al pomodoro 29
La classe Pasta 30
Un altro insuccesso 32
Frittata e pasta 33
La lunga attesa 34
Attivita' concorrenti 35
Esercizi 36
Capitolo 3: Le ricette parallele 39
L'intreccio delle preparazioni 39
Esecuzione interallacciata ed esplosione combinatoria 40
GN assume personale 41
La classe Cuoco 41
GN organizza 43
Un buon risultato 44
Una buona replica 45
Computazioni concorrenti: i Thread 46
Concorrenza e quasi-concorrenza 47
Il non determinismo dei sitemi di elaborazione 48
Alcune perplessita' 48
Esercizi 49
Capitolo 4: Come proteggere le dita 51
L'incidente del tagliere 51
La condivisione del tagliere 51
La traccia di sangue 53
Interferenza ed errori dipendenti dal tempo 54
Come educare i cuochi 56
La classe TaglierePrudente 58
Le dita sono salve 59
Sezioni critiche e monitor 59
Esercizi 61
Capitolo 5: GN scopre i semafori 63
Ipotesi avventate 63
Un po' di confusione 64
Le transazioni 65
Finalmente si mangia! 66
La classe Semaforo 67
La classe TaglierePrudentissimo 68
Le classi FrittataPrudentissima e PastaPrudentissima 68
Una esecuzione corretta 69
I semafori binari 70
La classe Semaforo in dettaglio 71
Esercizi 73
Capitolo 6: Produrre e consumare 75
Un servizio surreale 75
La classe Passavivande 75
Le classi Cameriere e Cuoco ripetitivo 76
Poltiglie e piatti fantasma 78
Pino e Alessandra cooperano 80
La classe PassavivandeSinc1 80
Tutto sembra funzionare 81
Wait e notify 82
Il lavoro aumenta 83
Un equivoco 83
La classe PassavivandeSinc2 85
La prudenza paga 86
Cooperazione: lo schema produttore-consumatore 87
Competizione, cooperazione e precondizioni 88
Esercizi 91
Capitolo 7: Efficienza e specializzazione 93
Attese inutili 93
La classe CuocoEfficiente 93
Un collo di bottiglia 94
Ingrandire il passavivande 95
La classe PassavivandeMultiplo 96
Un servizio efficiente 97
Fervore di attivita' 98
Il buffer multiplo 99
Invarianti e precondizioni nel caso del buffer multiplo 100
Personale specializzato 101
La classe PassavivandeSelettivo 101
La classe CameriereSpecializzato 102
Un servizio discutibile 103
La classe PassavivandeVeramenteSelettivo 104
Un servizio ineccepibile? 105
Ancora sulle precondizioni 106
Limitazioni eccessive 107
La classe PassavivandeEfficiente 108
Correttezza ed efficienza 109
Precondizioni e prestazioni 110
Esercizi 111
Capitolo 8: Concetti e problemi 113
Un problema filosofico 113
I concetti base 113
Variazioni sul tema semaforico 114
L'uso del monitor per realizzare i semafori 115
La classe SemaforoBinario 115
I semafori generalizzati 116
La classe SemaforoContatore 117
Gestione esplicita della politica di riattivazione 118
La classe SemaforoBinarioOrdinato 118
Alcuni problemi classici 120
Buffer limitato con l'uso di semafori 120
La classe BufferLimitato 121
Lettori/Scrittori 122
La classe LettoriScrittori 123
Sempre piu' difficile 124
I monitor con condizioni 124
La classe Monitor 125
Una revisione del problema Lettori/Scrittori 127
La classe LettoriScrittoriRivisti 127
Schedulazione del movimento della testina di un disco 129
La classe GestoreDisco 130
La classe SemaforoBinarioAPriorita 132
Una questione di stile 134
L'equivalenza dei modelli 134
Esercizi 137
Capitolo 9: Una situazione di stallo 139
Un passavivande piu' pratico 139
La classe PassavivandeSemaforizzato 139
La classe CameriereBimane 141
L'attesa infinita 142
Il blocco critico 143
Un passavivande semaforizzato e prudente 144
La classe PassavivandeSemaforizzatoPrudente 145
Il problema dei cinque filosofi 148
La classe FilosofoSemaforizzato 149
I filosofi bene educati 150
Un Gestore che evita il blocco critico 150
Controllo del blocco critico 151
Esercizi 153
Capitolo 10: Sigmund, cuoco schizofrenico 155
Il costo del lavoro 155
L'utilizzo dei processori 156
La schizofrenia come metodo di lavoro 156
Nucleo e processori virtuali 157
Gli stati dei thread 158
La schizofrenia peggiora 159
Il Time-Sharing 160
Prontezza di riflessi 162
Le priorita' dei thread 162
Priorita' interrompenti 163
Un po' di terminologia 164
Capitolo 11: Il maītre reattivo 167
L'organizzazione del servizio 167
La classe Maitre 168
La classe CameriereDisciplinato 171
I menu guidati 171
La clientela protesta 172
Le limitazioni dello schema a menu guidato 173
Il cliente ha sempre ragione 175
Il metodo rispondiChiamata 176
Lo schema di interazioni a eventi 177
L'organizzazione della sala 178
La classe Sala: interfaccia utente 178
Gli elementi dell'interfaccia 179
Eventi e comandi 180
La classe Chiamata 181
La classe Ordinazione 182
La classe Chiusura 182
La classe Sala: definizione dei comandi astratti 183
L'associazione eventi-metodi in Java 184
Un brindisi 185
Appendice A: Esecuzione delle classi di GN 189
Appendice B: Bibliografia 193
Indice analitico 195
|
|
|
|