1
00:00:01,060 --> 00:00:08,170
Iniziamo quindi imparando quali minacce sono e come possono essere create e verrà fatta la demo del lavoro

2
00:00:08,170 --> 00:00:14,840
e la lezione di follow-up quando non ci sono computer con sistemi operativi che eseguono un singolo

3
00:00:15,850 --> 00:00:19,460
programma che utilizza tutte le costose risorse di sistema.

4
00:00:19,490 --> 00:00:21,660
E quello era molto inefficiente.

5
00:00:22,830 --> 00:00:29,670
I sistemi operativi si sono evoluti per consentire l'esecuzione simultanea di più processi e il processo non è altro che

6
00:00:29,700 --> 00:00:37,410
un programma in esecuzione che è un'istanza del programma e ogni processo riceve le proprie risorse come handle di file di memoria e

7
00:00:37,410 --> 00:00:43,590
così via proprio come il modo in cui la JVM ottiene la propria memoria dal sistema operativo sottostante.

8
00:00:44,670 --> 00:00:51,390
E la concorrenza viene raggiunta attraverso il multitasking che non è altro che il semplice passaggio del

9
00:00:51,390 --> 00:01:00,040
CPO da un processo a un altro, quindi il multitasking non implica il pastoralismo. L'ACP viene passato da un processo a

10
00:01:00,040 --> 00:01:01,180
un altro.

11
00:01:01,510 --> 00:01:09,480
Cioè, in ogni istanza data da C-p si ricevono ancora le istruzioni da un singolo processo Hollywood il passaggio avviene

12
00:01:09,520 --> 00:01:16,160
così velocemente che ci dà un'illusione di parallelismo che è possibile solo su di esso.

13
00:01:16,180 --> 00:01:23,540
Il sistema multiprocessore su tale Duling viene utilizzato per un migliore utilizzo delle risorse, come discusso

14
00:01:24,520 --> 00:01:32,300
in precedenza alcune preoccupazioni come l'utilizzo delle risorse ha portato allo sviluppo di minacce inattaccate è essenzialmente

15
00:01:32,420 --> 00:01:39,680
un singolo flusso sequenziale di controllo all'interno di un processo che è un'istruzione all'interno di

16
00:01:39,680 --> 00:01:48,950
un thread vengono eseguiti sequenzialmente monitorati come parte di un processo e ogni traccia è fondamentalmente un processo leggero su un

17
00:01:49,070 --> 00:01:57,010
processo e il modo in cui più tracce indebita stress condividono le risorse che sono allocate, raccolgono i

18
00:01:57,070 --> 00:02:04,660
gestori non memorizzati della memoria, ma ogni thread ha il proprio PC e le variabili locali .

19
00:02:06,220 --> 00:02:10,720
Tra i vantaggi di questo includono lo sfruttamento di più processori.

20
00:02:10,740 --> 00:02:17,220
Questa è una minaccia che crei può essere eseguita su più processori e quindi raggiungere il parallelismo e questo è

21
00:02:17,220 --> 00:02:20,450
tutto per consentire la creazione di progetti liberamente accoppiati.

22
00:02:21,210 --> 00:02:28,510
Inoltre, offrono un throughput migliore anche nelle singole macchine Depue quando le attività di blocco richiedono che esistano due

23
00:02:28,570 --> 00:02:29,950
tipi di thread.

24
00:02:29,960 --> 00:02:37,330
Uno è thread daemon mentre l'altro è Mandrax non-bumi da thread in background utili per

25
00:02:37,420 --> 00:02:40,090
compiti come la garbage collection.

26
00:02:40,090 --> 00:02:47,800
Quindi questi thread vengono eseguiti in background e le parole corrispondenti vengono create dall'interno dell'applicazione.

27
00:02:47,800 --> 00:02:53,470
Questi sono i thread che creano i programmi e quindi iniziamo il nostro programma.

28
00:02:53,610 --> 00:03:00,660
JVM crea anche un thread per eseguire il metodo principale e viene definito thread principale in modo che il thread principale

29
00:03:00,720 --> 00:03:02,770
non sia monitorato da HD.

30
00:03:03,240 --> 00:03:07,030
Quindi in un programma Java c'è sempre almeno un errore.

31
00:03:07,290 --> 00:03:13,710
Quindi, se non stiamo creando alcun thread, allora c'è sempre il thread principale su Gibeon che non terminerà.

32
00:03:13,710 --> 00:03:19,960
Se esiste almeno un thread Nonda in esecuzione per non capire i thread.

33
00:03:20,060 --> 00:03:27,050
Consideriamo una semplice analogia, pensiamo che questa scatola è un cantiere in cui abbiamo

34
00:03:27,050 --> 00:03:28,640
questi lavoratori.

35
00:03:28,640 --> 00:03:31,720
Ora possiamo pensare a questo cantiere come a un processo.

36
00:03:31,730 --> 00:03:35,070
E questi lavoratori sono come la torretta nel processo.

37
00:03:35,210 --> 00:03:39,780
Ora sappiamo che questi lavoratori sono inutili a meno che non gli diamo un po 'di lavoro.

38
00:03:39,830 --> 00:03:41,780
Quindi dobbiamo lavorare per loro.

39
00:03:42,360 --> 00:03:46,000
Il libro sulla terminologia delle minacce di Angella non è altro che un compito.

40
00:03:46,410 --> 00:03:53,570
Quindi il battistrada ha bisogno di un compito da eseguire, proprio come i lavoratori hanno bisogno di lavoro su cui lavorare,

41
00:03:53,680 --> 00:04:01,720
così una volta che gli diamo il lavoro che inizieranno a lavorare, che è nel nostro mondo Djala, le minacce inizierebbero a metterci alla prova.

42
00:04:01,810 --> 00:04:08,410
A minaccia è semplicemente un'istanza di questa classe chiamata minaccia o fuori processo e proviene dal

43
00:04:08,420 --> 00:04:16,160
pacchetto Jemadar klank sotto task che è il libro è definito da una classe che implementerebbe questa interfaccia chiamata

44
00:04:16,250 --> 00:04:19,970
runnable che è anche dal pacchetto Jemadar Lang .

45
00:04:20,890 --> 00:04:28,290
Quindi minaccia è una classe nobble è un'interfaccia e rappresenta l'operatore mentre runnable rappresenta il libro No vediamo come possiamo crearlo chiedendo

46
00:04:29,340 --> 00:04:35,110
come possiamo creare un thread e fare in modo che quel thread esca dal tuo compito.

47
00:04:36,840 --> 00:04:39,010
Crosson Vediamo come possiamo creare quel compito.

48
00:04:39,300 --> 00:04:44,470
Abbiamo solo bisogno di creare un oggetto runnable e questo è il modo in cui lo fai.

49
00:04:44,710 --> 00:04:50,940
Fondamentalmente potrebbe su una barca è una classe che implementa quell'interfaccia vulnerabile e noi

50
00:04:50,940 --> 00:04:56,030
semplicemente lo istanziamo sull'interfaccia eseguibile ha esattamente un metodo chiamato run.

51
00:04:56,520 --> 00:04:59,440
Così potrebbe su una classe definire il compito.

52
00:04:59,520 --> 00:05:02,590
Il tenero non soddisfatto terzo che implementa.

53
00:05:03,940 --> 00:05:07,830
E il prossimo passo è creare il thread e dargli il suo compito.

54
00:05:07,890 --> 00:05:13,390
E questo è il modo in cui lo fai semplicemente istanziamo la terza classe e inizializziamo

55
00:05:13,400 --> 00:05:21,220
quella che mi ha chiesto Creatore e ora vediamo che la minaccia è in uno stato thread abbastanza nuovo andrebbe anche in

56
00:05:21,220 --> 00:05:26,390
alcuni stati diversi come vedremo no su il prossimo passo è iniziare il thread.

57
00:05:26,700 --> 00:05:32,880
E per questo semplicemente invochiamo il metodo start sulla terza istanza e non succede nulla finché non

58
00:05:32,880 --> 00:05:38,370
lo facciamo in questo nuovo stack di chiamate che verrà creato per questo thread.

59
00:05:38,480 --> 00:05:47,120
Il metodo Underrun verrà inserito nello stack e ricorda che ogni thread ha il proprio cornstalk Un altro thread è impostato

60
00:05:47,130 --> 00:05:54,310
per essere in uno stato chiamato Run up e runnable non implica che il metodo di

61
00:05:54,340 --> 00:06:02,120
esecuzione venga eseguito per quel thread che deve entrare in un stato chiamato Running runnable come implica la parola.

62
00:06:02,170 --> 00:06:06,080
Il thread è pronto per essere eseguito.

63
00:06:06,110 --> 00:06:11,060
Ora c'è qualcosa chiamato Touch e ular che è responsabile dello spostamento del thread dallo stato

64
00:06:11,060 --> 00:06:12,680
eseguibile allo stato di esecuzione.

65
00:06:13,040 --> 00:06:18,530
E una volta che il terzo è in esecuzione, è chiamato stack sarebbe acto sul metodo in cima allo

66
00:06:18,560 --> 00:06:22,940
stack verrà eseguito se questo è il metodo di esecuzione quindi quel metodo sarebbe eseguito.

67
00:06:23,720 --> 00:06:28,980
Su Treacher non è responsabile per lo spostamento di quel thread allo stato Runnable dallo

68
00:06:28,970 --> 00:06:36,350
stato di esecuzione in modo che possa spostare qualche altro thread nella struttura dello stato di esecuzione e che il

69
00:06:36,440 --> 00:06:39,690
componente stia effettuando il passaggio tra le minacce.

70
00:06:39,700 --> 00:06:44,880
Ora possiamo vedere che c'è anche un altro stato chiamato bloccato e ci sono alcuni motivi per cui una

71
00:06:44,890 --> 00:06:46,630
minaccia può entrare in questo stato.

72
00:06:46,850 --> 00:06:53,830
Su uno di essi, come si può intuire, è dovuto al blocco durante un'operazione di input output come read on just note

73
00:06:53,830 --> 00:07:00,190
è che una minaccia può entrare nello stato di blocco solo dallo stato di esecuzione in poi dai blocchi.

74
00:07:00,220 --> 00:07:03,230
Può entrare in uno stato eseguibile.

75
00:07:03,340 --> 00:07:07,750
Quindi da bolloxed non può o direttamente entrare in esecuzione.

76
00:07:07,970 --> 00:07:11,900
E inoltre non può entrare nello stato di blocco da quello stato onorevole.

77
00:07:11,930 --> 00:07:19,290
Quindi, mantieni questa sequenza nella struttura della mente, il jewler prende tutte le decisioni su chi esegue chi non è in

78
00:07:19,290 --> 00:07:22,100
esecuzione e per quanto tempo sono attivi.

79
00:07:22,120 --> 00:07:25,660
Non c'è Dio e B su come si comporta quel guerriero di Richard.

80
00:07:25,660 --> 00:07:31,600
A volte può essere eseguito dopo il completamento ma in qualche altro momento può eseguire un thread a

81
00:07:31,600 --> 00:07:34,240
metà e quindi passare a un altro.

82
00:07:34,440 --> 00:07:39,880
Quindi non dovrebbe mai basare i tuoi programmi su Ghatak se dovessi affrontare il comportamento.

83
00:07:39,970 --> 00:07:46,330
La prossima lezione sarà una pausa per la creazione di minacce e vedremo anche come si comporta un doodle.

84
00:07:46,510 --> 00:07:49,530
Henri vedrebbe che non dovremmo fare affidamento su di esso.

85
00:07:49,530 --> 00:07:50,860
Quindi questo è tutto per ora.

86
00:07:50,910 --> 00:07:51,360
Grazie.
