1
00:00:02,310 --> 00:00:04,470
Haidar questo è vero.

2
00:00:04,640 --> 00:00:12,110
Ora è il momento di guardare e le utilità tra interviste e gello combattono prima con la cooperazione tecnologica, siamo fantastici

3
00:00:12,200 --> 00:00:17,570
e Nordie combattiamo ma con l'attesa e combattiamo davvero questo agitarsi della mano a

4
00:00:17,570 --> 00:00:19,270
basso livello di Larnell.

5
00:00:19,400 --> 00:00:25,760
Ad esempio, Hunterdon carica un indicizzatore che questo snippet di codice sugli indicizzatori e sulla parte di

6
00:00:25,760 --> 00:00:32,130
comunicazione di basso livello viene enfatizzato in Redfearn, come si può vedere, abbiamo dovuto scrivere un blocco

7
00:00:32,130 --> 00:00:32,850
sincronizzato.

8
00:00:33,090 --> 00:00:38,820
Poi abbiamo avuto una condizione abbastanza buona per colpire la pagina è una smentita veloce, quindi dobbiamo aspettare

9
00:00:38,910 --> 00:00:42,510
in posizione che è seguita invocando il metodo multipla get hitch.

10
00:00:44,010 --> 00:00:49,870
Ora, allo stesso modo sul downloader e ancora una volta dobbiamo sincronizzare il blocco, dovevamo anche notificare a

11
00:00:49,870 --> 00:00:55,810
tutti la posizione di methedrine che una comunicazione di basso livello non solo è confusa, ma può portare a

12
00:00:55,900 --> 00:00:58,160
errori che potrebbero non essere ovvi.

13
00:00:58,180 --> 00:01:02,410
In effetti, in realtà ne abbiamo fatto uno di questi errori nella nostra demo e ne abbiamo notificato.

14
00:01:02,460 --> 00:01:11,490
E lascia che ti mostri solo quello che è andato bene questa è una grande nota in questo programma che abbiamo visto prima.

15
00:01:11,490 --> 00:01:15,110
Quindi abbiamo questo estratto qui sul downloader corretto.

16
00:01:15,150 --> 00:01:20,640
Supponiamo ora che il downloader che esegue rapidamente il backup su di esso e fa il

17
00:01:20,640 --> 00:01:26,620
blocco sincronizzato qui e poi scarica la pagina e assegna il contenuto scaricato a questa pagina Hestia variabile.

18
00:01:26,970 --> 00:01:33,000
Ma come ho detto prima, invoca questa semicha m. p. h. per impostare la malapit di

19
00:01:33,030 --> 00:01:39,120
Hetchy qui diciamo che Techwood ular da questo thread in una velocità eseguibile e porta l'altro thread in questo thread

20
00:01:39,240 --> 00:01:40,510
nello stato di esecuzione.

21
00:01:40,590 --> 00:01:46,530
Quindi, qui voglio sottolineare che una cosa che voglio sottolineare è che se un thread si trova all'interno del blocco

22
00:01:46,530 --> 00:01:52,290
sincronizzato come quello sul thread, può ancora essere cambiato contesto, il che significa che può spostare questo turno in stato

23
00:01:52,290 --> 00:01:55,910
di esecuzione e può portare altri hackerati nel flusso di esecuzione.

24
00:01:55,990 --> 00:01:57,680
OK, è del tutto possibile.

25
00:01:57,900 --> 00:01:59,700
Probabilmente non l'ho specificato.

26
00:01:59,840 --> 00:02:02,050
E uno nelle lezioni precedenti.

27
00:02:02,280 --> 00:02:04,590
Quindi volevo solo evidenziare che è possibile.

28
00:02:04,590 --> 00:02:10,410
Quindi qui stiamo dicendo che dopo che l'istruzione è stata eseguita dopo l'Hestia, la mia pagina è stata scaricata, ma prima di questa dichiarazione dove non

29
00:02:10,410 --> 00:02:16,890
siamo disposti a impostare hastier m. p. h. prima che questa affermazione sia

30
00:02:17,340 --> 00:02:19,260
eseguita, c'è un contesto che sta accadendo.

31
00:02:19,370 --> 00:02:26,190
Supponiamo che il thread dell'indicizzatore si avvii e in Will this get Hetchy della mia pagina in questo caso è

32
00:02:26,200 --> 00:02:32,130
stato scritto e null perché il thread scaricato non ha richiamato la seconda pagina HDMI in questo

33
00:02:32,130 --> 00:02:32,670
istante.

34
00:02:32,820 --> 00:02:39,660
Quindi quale D. M. la pagina sarebbe nullo e quindi il donatore all'indice

35
00:02:39,660 --> 00:02:44,790
o Tredwell ha tentato di entrare nel blocco sincronizzato ma non ha il blocco perché il blocco non conosce ancora la minaccia.

36
00:02:44,790 --> 00:02:45,960
Ullapool aspetta qui.

37
00:02:46,110 --> 00:02:53,730
Ora diciamo che il thread ritorna allo stato di esecuzione in poi è il discorso DMO del tratteggio e quindi

38
00:02:53,730 --> 00:02:59,130
non invoca notifica All-Met e quindi reimposta il blocco su ciò che viene rilasciato.

39
00:02:59,160 --> 00:03:04,090
Scarica il terzo qui l'indice o il terzo qui acquisisce il lucchetto ed entra nel tuo.

40
00:03:04,170 --> 00:03:07,960
Ma qual è la storia di Malpais a soli dieci eguali giusti.

41
00:03:08,040 --> 00:03:12,660
Perché quando ha invocato il get get hitched la mia pagina significava che non lo era.

42
00:03:12,690 --> 00:03:13,730
Quindi va qui.

43
00:03:13,850 --> 00:03:20,910
Lo conosco in Wolfsthal in modo eccezionale e si sospende da solo e il problema è che il metodo

44
00:03:20,930 --> 00:03:25,570
Notify qui notifica All-Met che è già stato invocato ma l'altro thread.

45
00:03:25,770 --> 00:03:33,960
Quindi aspetterà indefinitamente qui o avanti a meno che non si verifichi una rottura così grave o dominiamo questo

46
00:03:33,960 --> 00:03:35,970
thread in modo esplicito.

47
00:03:36,180 --> 00:03:38,880
OK, quindi aspetterò qui a tempo indeterminato.

48
00:03:38,880 --> 00:03:40,780
Quindi questo è il problema qui.

49
00:03:40,830 --> 00:03:43,710
E questo era a causa di questo errore di codifica.

50
00:03:43,830 --> 00:03:49,610
Quindi questo dovrebbe essere all'interno e all'interno del blocco sincronizzato.

51
00:03:49,890 --> 00:03:50,350
OK.

52
00:03:50,430 --> 00:03:56,850
E questo perché la condizione è abbastanza buona da usare questo video per così dire leggibile e la condizione

53
00:03:56,850 --> 00:03:58,570
piuttosto buona è usarlo.

54
00:03:58,590 --> 00:04:03,660
Quindi abbiamo bisogno di essere protetti usando il blocco su questo particolare oggetto.

55
00:04:03,880 --> 00:04:04,130
OK.

56
00:04:04,140 --> 00:04:05,510
Quindi deve succedere.

57
00:04:05,520 --> 00:04:11,550
Quindi questo è stato un errore di codifica e questo è tutto a causa del livello basso di handshaking che stiamo

58
00:04:11,610 --> 00:04:13,030
facendo benissimo sul volo.

59
00:04:13,190 --> 00:04:13,600
OK.

60
00:04:13,620 --> 00:04:15,670
Quindi dovrebbe essere assegnato.

61
00:04:15,750 --> 00:04:18,690
Quindi dobbiamo assicurarci di non commettere errori di codifica.

62
00:04:18,870 --> 00:04:24,170
Quindi questo è molto confuso ed è tutto a causa del basso livello di handshaking che stiamo facendo

63
00:04:24,180 --> 00:04:25,190
che non notifichiamo.

64
00:04:25,470 --> 00:04:31,950
Quindi volevo solo evidenziare che su questo nella sezione risorse fino a notificarli o tenere una conferenza.

65
00:04:32,010 --> 00:04:34,680
Quindi abbiamo questo programma ed è già stato corretto.

66
00:04:34,710 --> 00:04:36,940
Quindi questa affermazione è stata spostata qui.

67
00:04:37,320 --> 00:04:43,570
Quindi questo è anche uno dei motivi per cui la programmazione concorrente è più complicata della programmazione sequenziale.

68
00:04:44,010 --> 00:04:47,860
Ora torniamo ai nostri giochi di prestigio.

69
00:04:47,980 --> 00:04:54,480
Ecco cosa un articolo è un fatto di documenti che consiglia di utilizzare utilità di concorrenza quale

70
00:04:54,500 --> 00:05:01,310
operazione inserire alfabeto e notificare su queste utilità quali interviste Delphi e qui sono le diverse utilità

71
00:05:01,310 --> 00:05:02,490
di concorrenza.

72
00:05:02,500 --> 00:05:09,460
Consentono una cooperazione molto più semplice e implicita senza alcun intervento a scapito di basso livello nel follow

73
00:05:09,490 --> 00:05:15,530
up. Allison poco guarda al quadro esecutivo ed è un framework per la gestione della tecnologia

74
00:05:15,530 --> 00:05:17,940
e la cooperazione sulle minacce.

75
00:05:17,990 --> 00:05:24,020
Per questo utilizza pipe come un servizio esigibile e un futuro, e impareremo

76
00:05:24,080 --> 00:05:25,690
a conoscerle tutte.

77
00:05:25,690 --> 00:05:31,310
Successivamente esamineremo i sincronizzatori e consentiranno alle minacce di cooperare in un modo molto semplice.

78
00:05:31,360 --> 00:05:37,180
Guarderemo almeno un sincronizzatore finalmente per guardare cumquat e le collezioni su una di esse stanno bloccando

79
00:05:37,180 --> 00:05:42,980
la coda, cosa che fa anche in modo che il sincronizzatore consenta al tourch di cooperare.

80
00:05:43,450 --> 00:05:44,390
Questo è tutto.

81
00:05:44,420 --> 00:05:46,770
Annibal Avanti guarda queste utilità di concorrenza.

82
00:05:46,870 --> 00:05:47,230
Grazie.
