Prática de Shadowing: 🚫 Java Deadlock Explained: Why Your Code is Stuck 😱 (Beginners Must Watch!) - Aprenda a falar inglês com vídeo

Criando lição...
1
We have seen deadlock example.
2
We have given the example of the lock.
3
But we are going to read deadlock officially.
4
I will give you a example of how the code looks.
5
We will see deadlock doesn't work.
6
We will see how it will resolve.
7
First of all, what is formal definition?
8
In multi-threading, deadlock is a situation where the threats are always blocked.
9
And they depend on the other side.
10
For example, A and B, A has a pen and a paper.
11
A waits for B, when he gives a paper, then I start to write.
12
B waits for A, when he gives a pen, then I start to write.
13
Just, nothing is wrong.
14
One is waiting for another.
15
So, the work will not be wrong and wait for forever.
16
So, this is a condition called deadlock.
17
Formal, formal.
18
Formal, when it comes to match, the deadlock is called.
19
Mutual exclusion.
20
Sir, our critical section is called, which should be locked.
21
First thing is obvious.
22
Then there will be a wait.
23
Another thing is, Hold and wait.
24
A thread holding at least one resource is waiting to acquire.
25
Obviously.
26
Third thing is no preemption.
27
You can't remove pen or pencil.
28
You can't remove paper.
29
We haven't read this yet.
30
It's circular wait.
31
This is obvious.
32
The obvious thing is, they divide in 4 parts.
33
It's false.
34
But obviously, if someone's mind is bad, then they can ask.
35
Okay, sir.
36
So, theory has happened.
37
Sir, a real life example.
38
I have given you a class pen and a class paper.
39
What is written in pen?
40
Write with pen and paper.
41
It is a method.
42
It is called paper.finishedWriting.
43
Another class is class paper.
44
It is called write with write with paper and pen.
45
And then finish writing method.
46
I am going to show you the functionality.
47
What is written in the upper part?
48
I will go in the upper part.
49
I will make two threads.
50
Task 1.
51
The next thread is task 2.
52
In the main thread, a pen and a paper and the threads are made.
53
Then I will start.
54
I am giving a high level overview.
55
Thread 1 is using pen and is trying to use paper.
56
Thread 2 is using paper and trying to use pen.
57
And it's going infinitely.
58
I will close it to forcefully.
59
The condition is the same.
60
Two threads have two people.
61
One has pen and trying to use paper.
62
The other one has B.
63
The other one has paper and trying to use pen.
64
The solution is not coming.
65
This is deadlock.
66
Now, look at the code.
67
There are two methods, paper, and two threads.
68
Task 1 and Task 2.
69
We will create the object in that two objects.
70
Pen and paper.
71
Similarly with Task 2.
72
When we create the object in Task 2, we will create the object in the constructor.
73
Obviously, one pen will be and one paper.
74
So, two people are.
75
Thread 1 and Thread 2.
76
There are two things.
77
One pen and one paper.
78
Thread 1 is written in the first one.
79
One person has pen.
80
Pen.Write with pen and paper.
81
The other person has paper.
82
Now we are going to pen and paper class.
83
Pen has two methods.
84
Write with pen and paper and finish writing.
85
Paper has two methods.
86
Write with paper and pen and finish writing.
87
Pen has been written in thread 1.
88
Synchronize is put.
89
When a method is declared by synchronized keyword,
90
this method will acquire the intrinsic lock of the object the method belongs to.
91
Pen will acquire the method.
92
Pen will acquire the method.
93
And then, paper.finish writing.
94
This method will need paper and pen,
95
so it comes to paper and pen.
96
and he is trying to run pen.finish writing.
97
When will it run pen?
98
When it has a pen lock.
99
What do you mean?
100
It depends on the other one.
101
What is thread 1?
102
It has a pen.
103
And trying to use paper.
104
Similarly thread 2 is using paper and trying to use pen.
105
But nothing is happening.
106
Then we close it.
107
What is deadlock?
108
If it has not been done, then see it again.
109
I am saying it again.
110
Now I need to resolve this, I need to resolve this, deadlock is not necessary.
111
So what can I do?
112
There are many strategies.
113
What is common approach?
114
Ensure that all the threats are consistent order to acquire locks.
115
Consistent order means that multiple threats which are required to acquire locks and multiple resources,
116
they should always acquire the resources in the same sequence.
117
Class pen and paper Here is the lock acquired.
118
What is the lock?
119
The pen and paper are the same.
120
We will do the same work.
121
If we change the lock, then the result will be deadlock.
122
Now, Task 1 is going to lock pen and paper.
123
Task 2 is going to lock pen and pen.
124
What do we do?
125
We use the synchronized keyword.
126
We want to lock and pen.
127
We will say Task 2 is going to lock pen and pen.
128
Then, paper can lock.
129
This is the two things.
130
I will put it here.
131
It will make sure that thread 2 is going to lock pen.
132
When you have pen lock, it's a good thing.
133
But pen lock is a thread 1, no matter what you will do.
134
And paper lock will come, because thread to run not.
135
Because thread to run, you should have pen lock, then paper lock will acquire.
136
So, understand how now.
137
If we change ordering, consistent ordering,
138
lock will acquire, we can resolve the deadlock.
139
Okay?
140
Now, keep the tension so much.
141
Keep the tension so much.
142
Sir, we have a small example which we have resolved.
143
That's it.
144
Keep the tension so much.
145
Keep the tension so much.
146
Okay, sir.

Sobre esta lição

Nesta prática, você vai explorar um vídeo sobre deadlock em Java, mas com foco em aprimorar sua fala em inglês. Vamos analisar a linguagem usada, a pronúncia e a estrutura das frases, além de praticar o shadowing — uma técnica eficaz para melhorar a fluência e a entonação. Ao final, você conseguirá identificar termos técnicos, reproduzir a velocidade da fala e entender como a conversação flui em um contexto explicativo.

Vocabulário e frases-chave

  • Deadlock: Situação em que threads estão bloqueadas mutuamente (palavra técnica essencial no vídeo).
  • Multi-threading: Técnica de execução de múltiplas threads simultaneamente (termos em inglês comuns em programação).
  • Mutual exclusion: Princípio de que um recurso só pode ser usado por uma thread por vez (expressão chave na explicação).
  • Hold and wait: Condição em que uma thread mantém um recurso e espera por outro (frase técnica usada no vídeo).
  • Circular wait: Situação em que threads esperam por recursos em um ciclo (conceito fundamental para entender o deadlock).

Dicas de prática

O shadowing é uma excelente forma de treinar a pronúncia em inglês e a sincronia com a fala nativa. No vídeo, a velocidade é média, com pausas para explicação, o que facilita a prática. Siga estes passos: 1) Assista o vídeo uma vez para entender o contexto. 2) Repita cada frase imediatamente após o falante, imitando a entonação e a velocidade. 3) Foque em termos técnicos, como "deadlock" e "mutual exclusion", garantindo que sua pronúncia seja clara. 4) Grave sua voz e compare com o vídeo para identificar pontos a melhorar. Essa prática de conversação em inglês, combinada com o shadow speech, ajudará você a se sentir mais confortável com a linguagem técnica e a fala em geral. Lembre-se: a consistência é a chave para melhorar!

O que é a Técnica de Shadowing?

Shadowing é uma técnica de aprendizado de idiomas com base científica, originalmente desenvolvida para o treinamento de intérpretes profissionais. O método é simples, mas poderoso: você ouve áudio em inglês nativo e repete imediatamente em voz alta — como uma sombra seguindo o falante com 1-2 segundos de atraso. Pesquisas mostram melhora significativa na precisão da pronúncia, entonação, ritmo, sons conectados, compreensão auditiva e fluência na fala.

Técnica de shadowing: leia o guia completo passo a passo →