Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6b2276d

Browse files
Add files via upload
1 parent 9abaf70 commit 6b2276d

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

‎synchronization.java

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
2+
// A Java program to demonstrate working of
3+
// synchronized.
4+
import java.io.*;
5+
import java.util.*;
6+
7+
// A Class used to send a message
8+
class Sender {
9+
public void send(String msg) {
10+
System.out.println("Sending\t" + msg);
11+
try {
12+
Thread.sleep(1000);
13+
} catch (Exception e) {
14+
System.out.println("Thread interrupted.");
15+
}
16+
System.out.println("\n" + msg + "Sent");
17+
}
18+
}
19+
20+
// Class for send a message using Threads
21+
class ThreadedSend extends Thread {
22+
private String msg;
23+
Sender sender;
24+
25+
// Recieves a message object and a string
26+
// message to be sent
27+
ThreadedSend(String m, Sender obj) {
28+
msg = m;
29+
sender = obj;
30+
}
31+
32+
public void run() {
33+
// Only one thread can send a message
34+
// at a time.
35+
synchronized (sender) {
36+
// synchronizing the snd object
37+
sender.send(msg);
38+
}
39+
}
40+
}
41+
42+
// Driver class
43+
class synchronization {
44+
public static void main(String args[]) {
45+
Sender snd = new Sender();
46+
ThreadedSend S1 = new ThreadedSend(" Hi ", snd);
47+
ThreadedSend S2 = new ThreadedSend(" Bye ", snd);
48+
49+
// Start two threads of ThreadedSend type
50+
S1.start();
51+
S2.start();
52+
53+
// wait for threads to end
54+
try {
55+
S1.join();
56+
S2.join();
57+
} catch (Exception e) {
58+
System.out.println("Interrupted");
59+
}
60+
}
61+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /